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

本文介绍了R语言中如何导入各种数据格式,包括txt,csv,SPSS,SAS,JSON,XML和Stata数据。提到了使用如read.table(),read.spss(),sas.get(),read_json()等函数,并推荐使用Hmisc和foreign包来简化导入过程。
摘要由CSDN通过智能技术生成

写在前面

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

若想获得《R语言实战》书籍电子版,可以回复关键词R语言实战

数据输入

使用键盘输入

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

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的分析和可视化(包括数据分析,图形绘制等);分享感兴趣的文献和学习资料!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小杜的生信筆記

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值