2.7 读,写数据文件
2.7.1 读纯文本文件
方式:1.read.table() 2.scan()
getwd()
setwd("D:/test")
例:read.table()
rt<-read.table("houses.data")
is.data.frame(rt);rt
rt<-read.table("houses.data",header = TRUE);rt
例:scan()
w<-scan("weight.data");w
is.list(w)
w<-scan("h_w.data",list(height=0,weight=0));w
is.list(w)
x<-matrix(scan("weight.data",0),nrow = 3,ncol=5,byrow=TRUE);x
上式等价形式:
x<-matrix(scan("weight.data",0),ncol=5,byrow=TRUE);x
x<-matrix(scan("weight.data",0),nrow = 3,byrow=TRUE);x
其中:skip=0 在开始读取数据值之前要跳过的输入文件的行数。
2.7.2 读取其他格式的数据文件
library(foreign)
setwd("D:/test/数据集")
SPSS 形成数据框
rs<-read.spss("educ_scores.sav",to.data.frame = TRUE);rs
SAS
rs<-read.xport("educ_scores.xpt");rs
S-PLUS
rs<-read.S("educ_scores");rs
Stata
rs<-read.dta("educ_scores.dta");rs
读取Excel数据文件,R语言不支持Excel文件读取。然后R软件读出。
方式1:将Excel转换为文本文件(制表符分隔文件)
rd<-read.delim("educ_scores.txt");rd
方式2:转换格式是Excel表转换成CSV文件,
rc<-read.csv("educ_scores.csv");rc
2.7.3 链接嵌入的数据库
R软件本地提供50多个数据和其他利用软件包
data()
1.装载本地数据集
data(infert)
infert
2.从其他软件链接数据包
data(package="nls")
data("Puromycin",package="nls")
以上是实例,具体引用时,套用格式
或者通过library附加到库中。在data()中可以看到基本包中有nls软件包
library(nls)
data()
data("Puromycin")
2.7.4 写数据文件
1.write()函数
write(x, file = "data",ncolumns = if(is.character(x)) 1 else 5,append = FALSE, sep = " ")
x是数据,file是文件名,append = TRUE时,在源文件上添加数据,否则写一个新文件.
2.write.table()和write.csv()函数写纯文本格式数据文件或CSV格式的Excel数据文件
df<-data.frame(
Name=c("Alice","Becka","James","Jerffrey","John"),
Sex=c("F","F","M","M","M"),
Age=c(13,12,13,14,13),
Height=c(56.5,65.3,57.3,62.5,59.0),
Weight=c(84.0,98.0,83.0,84.0,99.5)
)
write.csv(df,file="foo.csv")
write.table(df,file="foo.txt")