• R语言学习笔记之四


    仅用于记录R语言学习过程:

    内容提要:

    自定义函数:function()函数,缺省参数(...)

    数据的读取:文本,excel,SPSS,SAS,STATA格式;

       主要的函数有:read.csv()、read.table()、readxl包中的read_excel()函数、XLConnect包中的readWorksheetFromfile()、foreign包中的read.xx()、stringi包中的stri_read_lines()

    数据的写出和导出:文本,excel,SPSS,SAS,STATA格式;

      主要的函数有:scan()、cat()、write.csv()、writeLines()

    正文: 

      自定义函数和数据的读取

    n  函数的用法可通过右下角的help-输入函数名进行查找学习使用

    n  自定义函数:自己编写一个需要用的函数

    u  示例:

    > my_fun1 <- function(x,y) {
        x+y
     }
    > my_fun1(3,4)
    [1] 7
     
    my_fun2 <- function(x,y=2) {
    +   x+y
    + }
    >   
    > my_fun2(2,4)
    [1] 6
     
    注:即使y已经给了一个固定值,也是可以更改的,也可以只传入一个值,如my_fun2(1)
     
    关于缺省参数,用‘...’表示,代表着有多个参数但是并没有完全写出来,在调用时可根据需要赋值,举例:
    value <- c(sqrt(1:100))
    my_fun3 <- function(x,...) {
      print(x)
      summary(...)
    }
     此处省略了summary()函数的参数,可以根据后面的赋值进行返回

           > my_fun3('Here is summary for values:',value,digit =2)

    [1] "Here is summary for values:"

       Min. 1st Qu.  Median    Mean 3rd Qu.

      1.000   5.074   7.106   6.715   8.675

       Max.

     10.000

                         addmup <- function(x,...) {

      args <-list(...)

      for (a in args) x <- x+a

      x

    addmup(1,2,3,4,5)

    normalize <- function(x,m = mean(x,...),s = sd(x,...),...) {

      (x-m) / s

    }

    normalize(x = 1:100) 

    学习重点:function()函数的用法(自定义函数),缺省参数(…)的用法,构造形式:

    构造函数 {

    执行的程序}

    给函数赋值

    n  数据的读取

    u  File    import Dataset 

    l  .csv(逗号分隔符文件),skip跳过前面的几行

    read.csv()   R的内置函数,用于数据读取,参数设置:

    read.csv(file = ‘完整路径,要加上文件的后缀名’,header = TRUE是指把第一行当做变量名,sep = ‘,’ 是指分隔符,row.names = 可传入字符串向量,用来定义每一行的名称;col.names 用于定义列名,na.strings = c(‘ ’,000,999)用于定义缺失值,stringAsFactors =TRUE 把字符串转换成因子)

    示例:my_file2 <- read.csv(file = '绝对路径.csv',header = TRUE)

    如何把excel文件转换成csv文件:文件—另存为

    如何读取文本文件(txt或xls格式的) read.table ,参数设置与read.csv是一致的。

    示例:my_file3<- read.table(file = '绝对路径.txt',header = TRUE)

    如何快速读取excel文件,用readxl 包,path相当于file,默认第一行为列名

    my_file4 <- read_excel(path = '绝对路径','')

    但如果excel中数据过多会报错,解决办法:

    当用EXCEL作为数据存储目标,从数据库导出数据时由于EXCEl的设置最多只能导入65533条数据。导入之后用编辑软件查看和编辑改文件没有问题,但是使用分析软件读取时却可能发生错误。

    例如,使用R读取时,会报如下错误:

    Error in read_fun(path = path, sheet = sheet, limits = limits, shim = shim, :

    std::bad_alloc

    显示内存分配错误,为了解决这个问题最简单的办法是另存为CSV格式,或者一开始就将数据导入到CSV文件中

    XLConnect中有一个readWorksheetFromFile()函数,方便数据的局部读取。参数设置如下:

    my_file5 <- readWorksheetFromFile(file = 'D:\analysis\test.xlsx',sheet = 1,startRow = 5,endRow =10,startCol = 2,endCol = 4)

    如何读取SPSS SAS STATA 三种格式的数据  

    l  Flie  import Dataset

    l  用foreign扩展包中read.spss()函数读取SPSS格式的函数

    my_spss <- read.spss(file = '绝对路径.sav',to.data.frame = TRUE()指的是转换成数据框,TRUE代表是)

    l  用foreign扩展包中的read.ssd()函数读取SAS格式的函数

    l  用foreign扩展包中的read.dta()函数读取STATA格式的函数

    l  文本的读取:使用readLines()内置函数

    my_text<-readLines(con = '绝对路径.txt')

    读取基因序列的文本:my_seq <- readLines(con = '绝对路径.fasta')

    l  用stringi扩展包中的stri_read_lines()函数,也可以导入基因序列

    my_seq2 <- stri_read_lines('绝对路径.fasta')

    l  的

    n  数据的写出和导出

    u  scan()函数:x<- scan()  在控制台输入数字,按两次回车结束输入,输入x,得到返回值

    u  cat()函数:可以实现写出控制台上,也可以写在文件中:

    cat(1:10)

    cat(1:10,file = ‘绝对路径.txt’)

    u  导出csv文件:用write.csv()函数

    write.csv(my_file2(文件名),file = '绝对路径/newfile.csv')   #newfile是此处新建的

    u  导出excel文件,直接在导出时选择csv格式

    write.csv(my_file3(文件名),file = '绝对路径/newfile.csv')   #file3为excel文本

    u  导出文本文件:writeLines()函数

    u  用foreign扩展包中相应的写出的函数(如STATA),具体可从help中查找

    注:在遇到新函数时可从help中学习用法,在使用函数参数是,可按Tab查看可选参数及使用方法。

  • 相关阅读:
    每天一篇文献:A SURVEY OF LEARNING FROM DEMONSTRATION USED IN ROBOTICS
    PyBullet(七)在PyBullet中使用VR
    期刊模板搜索网址
    论文阅读:Robot Program Parameter Inference via Differentiable Shadow Program Inversion
    visio画图如何插入到latex中
    win10下TensorFlow-GPU安装(GTX1660+CUDA10+CUDNN7.4)
    Object detection with localization using Unity Barracuda and ARFoundation
    论文阅读:Design and Implementation of a Virtual Reality Application for Mechanical Assembly Training
    Qt开发经验小技巧151-155
    Qt开发经验小技巧146-150
  • 原文地址:https://www.cnblogs.com/ppjs/p/9417960.html
Copyright © 2020-2023  润新知