ITPub博客

首页 > > > 【R语言基础】03. 数据文件的读写

【R语言基础】03. 数据文件的读写

作者:浪花小雨滴 时间:2020-06-17 10:50:58 0 删除 编辑

一、键盘输入数据

适合小数据集,使用函数edit(),操作步骤:

1. 创建一个空的数据框或矩阵,设置对应的变量名和变量类型;

2. 针对该数据对象,调用文本编辑器,输入数据,并保存。


mydata<-data.frame(age=numeric(0),
gender=factor(character(0),
levels = c("m","f")),
weight=numeric(0))
mydata<-edit(mydata)

将调出“数据编辑器”窗口:

注意:函数edit()实际上是在对象的副本上进行操作,若不将其赋值到一个目标变量mydata,则不会保留改动;或者使用函数fix()会保留改动。

二、读写txt文件

1. 读入txt文件

使用函数read.table()从带分隔符的txt文件读入数据,基本格式为:

read.table(file, header=FALSE, sep="", fill=, row.names, col.names, encoding=, skip=, colClasses=, ...)

其中,file为包含在" "内的文件路径+文件名,注意 \ 要换成 / 或 \\;

header指定是否将第1行作为变量名,默认为FALSE;

sep指定分隔符;

fill设置是否填充,若为TRUE,则各行变量数目不同时,将用空白填充;

row.names, colnames设置行名、列名的向量;

encoding设置读取时的编码方式,避免出现乱码;

skip指定读取数据前跳过的行数;

colClasses指定各列的数据类型的一个字符型向量。

2. 导出为txt文件

使用write.table()函数,参数基本同read.table().

例1 读取下列txt数据文件:ex05_datas.txt



setwd("E:/codes")
datas<-read.table("ex05_datas.txt",header=TRUE, sep=" ")
head(datas,3)
   age weight Oxygen runtime rstpulse runpulse Maxpulse
1   44  89.47 44.609   11.37       62      178      182
2   40  75.07 45.313   10.07       62      185      185
3   44  85.84 54.297    8.65       45      156      168
write.table(datas,file="ex3_write_txt.txt")

三、读取CSV文件

CSV文件就是用逗号分隔的txt文件。

用函数read.csv()读取并保存为数据框,基本格式为:

read.csv(file, header=FALSE, sep=",", fill=, row.names, col.names, encoding=, ..)

其中,参数基本同read.table()。

用函数write.csv()函数将数据导出为CSV文件。

四、读写Excel文件

最建议的方式是将Excel文件转存为CSV文件,再用函数read.csv()读取。

使用xlsx包,需要配置Java环境。使用openxlsx包:

1. 读入xlsx

函数read.xlsx(),基本格式为:

read.xlsx(xlsxFile, sheet=1, startRow=..., colNames=TRUE,  rowNames=FALSE, rows=NULL, cols=NULL, namedRegion=NULL)

其中,sheet指定读取的工作表;

colNames=TRUE指定第1行作为变量名;

rowNames=FALSE指定第1列不作为行名;

rows,cols,namedRegion指定读取行、列、区域。

例2 读入Excel文件:iris.xlsx


library(openxlsx)
datas<-read.xlsx("iris.xlsx", colNames=TRUE)
head(datas,3)
    Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
1            5.1         3.5          1.4         0.2     setosa
2            4.9         3.0          1.4         0.2     setosa
3            4.7         3.2          1.3         0.2     setosa

2. 写入xlsx

例如,将R自带的数据集iris写入iris.xlsx,并打开


library(openxlsx)

write.xlsx(iris,file="iris.xlsx")
openXL("iris.xlsx")

注:从其它统计分析软件导入数据,建议先保存为Excel文件再导入R语言。

主要参考文献:

[1] 张良均,谢佳标,杨坦,肖刚. R语言与数据挖掘. 机械工业出版社,2016.


作者:张敬信
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31537575/viewspace-3132168/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: MongoDB 查询分析
下一篇: TiDB 源码初探
请登录后发表评论 登录
全部评论

注册时间:2018-05-16

  • 博文量
    4259
  • 访问量
    40190