美文网首页
R数据导入,你知道多少.....?

R数据导入,你知道多少.....?

作者: 小杜的生信筆記 | 来源:发表于2023-07-24 08:33 被阅读0次

    写在前面

    今天早上在查文章,看文章,实在是“脑壳疼”,顺手拿到《R语言实战(第三版)》这本书。打开看看,看一下基础的东西。自己在平时导入数据比较常用的是使用txtcsv格式。其他数据可格式也有很多,今天就依次进行介绍学一下一下。我们也在社群中也分享了《R语言实战(第2版)》电子版教程和代码。

    数据输入

    使用键盘输入

    (基本不现实,这样的操作不推荐)

    mydata <- data.frame(age=numeric(0), 
      gender=character(0), weight=numeric(0)) 
    mydata <- edit(mydata) 
    

    从带分隔符的文本文件导入数据

    你可以使用read.table()从带分隔符的文本文件中导入数据。此函数可读入一个表格格式
    的文件并将其保存为一个数据框。表格的每一行分别出现在文件中每一行。其语法如下:

    mydataframe <- read.table(file, options) 
    

    其中,file是一个带分隔符的ASCII文本文件,options是控制如何处理数据的选项。表2-2列
    出了常见的选项。



    以上导入数据的操作,仅仅只是让大家了解一下即可,依旧不推荐。

    导入 SPSS 数据

    IBM SPSS数据集可以通过foreign包中的函数read.spss()导入到R中,也可以使用Hmisc包中的spss.get()函数。函数spss.get()是对read.spss()的一个封装,它可以为你自动设置后者的许多参数,让整个转换过程更加简单一致,最后得到数据分析人员所期望的结果。

    library(Hmisc) 
    mydataframe <- spss.get("mydata.sav", use.value.labels=TRUE)
    

    导入 SAS 数据

    library(Hmisc) 
    datadir <- "C:/mydata" 
    sasexe <- "C:/Program Files/SASHome/SASFoundation/9.4/sas.exe" 
    mydata <- sas.get(libraryName=datadir, member="clients", sasprog=sasexe) 
    

    导入JSON数据

    json文件的读取可以用read_json()函数实现,这个函数的第二个参数 simplifyVector 如果设置为TRUE,则json结构会被简化为向量,FALSE则会变为列表

    { 
       "id":["1","2","3"],
       "name":["Google","Runoob","Taobao"],
       "url":["www.google.com","www.runoob.com","www.taobao.com"],
       "likes":[ 111,222,333]
    }
    
    # 载入 rjson 包
    library("rjson")
    
    # 获取 json 数据
    result <- fromJSON(file = "sites.json")
    
    # 输出结果
    print(result)
    
    print("===============")
    
    # 输出第 1 列的结果
    print(result[1])
    
    print("===============")
    # 输出第 2 行第 2 列的结果
    print(result[[2]][[2]])
    
    参考网址:
    https://zhuanlan.zhihu.com/p/27662104
    https://cran.r-project.org/web/packages/jsonlite/jsonlite.pdf
    

    导入 XML 数据

    以XML格式编码的数据正在逐渐增多。R中有若干用于处理XML文件的包。例如,由Duncan Temple Lang编写的XML包允许你读取、写入和操作XML文件。

    library(XML)
    
    ##创建xml
    <sites>
        <site>
            <id>1</id>
            <name>Google</name>
            <url>www.google.com</url>
            <likes>111</likes>
        </site>
     
        <site>
            <id>2</id>
            <name>Runoob</name>
            <url>www.runoob.com</url>
            <likes>222</likes>
        </site>
     
        <site>
            <id>3</id>
            <name>Taobao</name>
            <url>www.taobao.com</url>
            <likes>333</likes>
        </site>
    </sites>
    
    # 载入 XML 包
    library("XML")
    
    
    # 设置文件名
    result <- xmlParse(file = "sites.xml")
    
    # 输出结果
    print(result)
    

    导入 Stata 数据

    library(haven)
    mydata <- read_dta("mydata.dta")
    

    最常用的数据格式

    导入Excel数据

    重点常用

    library(readxl)
    mydata <-  read_xlsx("work.xlsx",1)
    

    导入CSV文件

    此文件格式也是我们最常用文件之一。

    data <- read.csv("sites.csv", encoding="UTF-8")
    
    print(is.data.frame(data))  # 查看是否是数据框
    print(ncol(data))  # 列数
    print(nrow(data))  # 行数
    

    导入txt文件

    data <- read.table("mydata,txt", header = T)
    

    参考:

    1. 《R语言实战》书籍
    2. https://www.runoob.com/r/r-pie-charts.html
    

    往期文章:

    1. 最全WGCNA教程(替换数据即可出全部结果与图形)


    2. 精美图形绘制教程

    3. 转录组分析教程


    小杜的生信筆記,主要发表或收录生物信息学的教程,以及基于R的分析和可视化(包括数据分析,图形绘制等);分享感兴趣的文献和学习资料!!

    相关文章

      网友评论

          本文标题:R数据导入,你知道多少.....?

          本文链接:https://www.haomeiwen.com/subject/buvqpdtx.html