R中读写数据
一般我们想要处理的数据储存在电脑的硬盘中,如果想要用R来处理这些数据,我们要把这些文件放在R的工作目录下或者在命令中给出这些文件所在的路径。
通常使用getwd()来查看当前的工作目录。
> getwd()
[1] "C:/Users/asus/Documents"
如果我们的数据都放在E盘的data文件夹下,我们可以设置工作路径为E:/data
> setwd("E:/Rdata")
> getwd()
[1] "E:/Rdata"
除了输入命令来设置工作路径,我们还可以用鼠标点击左上方工具栏的Session-Set Working Directory-Choose Directory
我们要处理数据,首先要有数据,这些数据可以是我们手动输入的,比如在之前给出的例子。
> mydata <- data.frame(age = numeric(0), gender = character(0), weight = numeric(0) )
#输入或修改 mydata 中的数据,输入该命令后会弹出数据编辑器,我们就能进行手动编辑
> mydata <- edit(mydata)
但是更多的情况下我们是直接读取文件中的数据
> df<-read.table(file="E:/Rdata/fg.csv", header=T, sep=",")
> df
X obs treat weight
1 1 1 A 2.3
2 2 2 B NA
3 3 3 A 9.0
> df<-read.csv(file="E:/Rdata/fg.csv", header=T)
> df
X obs treat weight
1 1 1 A 2.3
2 2 2 B NA
3 3 3 A 9.0
我们不仅会输入数据,有的时候也想把在R中处理的数据保存为别的文件格式。
#创建一个数据框df
> df<-data.frame(obs = c(1, 2, 3), treat = c("A", "B", "A"), weight = c(2.3, NA, 9))
> df
obs treat weight
1 1 A 2.3
2 2 B NA
3 3 A 9.0
#保存df为 txt 文件,保存在E盘的Rdata文件夹下
> write.table( df , file = "E:/Rdata/fg1.txt", row.names = T, quote = T )
#保存df为 txt 文件,row.names = F :不写入行名,quote = F :变量名不用双引号。
> write.table( df , file = "E:/Rdata/fg.txt", row.names = F, quote = F )
> 保存df为 csv 文件
> write.csv( df , file = "E:/Rdata/fg.csv" )

> 保存df为 R 格式文件
> save( df , file = "E:/Rdata/fg.Rdata" )
或者
> write.table( df , file = "E:/Rdata/fg1.txt", row.names = T, quote = T )
参考资料:
R for beginners
ucas相关课程课件