写在前面
今天早上在查文章,看文章,实在是“脑壳疼”,顺手拿到《R语言实战(第三版)》这本书。打开看看,看一下基础的东西。自己在平时导入数据比较常用的是使用txt
和csv
格式。其他数据可格式也有很多,今天就依次进行介绍学一下一下。我们也在社群中也分享了《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的分析和可视化(包括数据分析,图形绘制等);分享感兴趣的文献和学习资料!!
网友评论