读写数据文件
1 读纯文本文件:read.table(), scan() read.table()读取表格形式的
通常形式read.table(file, header=FALSE, sep=””,...)
file所读的文件名,header数据表头,默认FALSE(有表头),sep数据分割符,通常为空格.
rt<-read.table(\ ############返回值为数据框 rt class(rt)
rt<-read.table(\
######如果数据文件没有序号,所读的第一行为表头 scan()读纯文本文件,返回一向量, 返回值可以是数值型、字符型、逻辑型、列表等。 w<-scan(\z<-scan(\
######## h_w.data数据中有不同的属性,共10列, ###### 1,3,5,7,9为长度,2,4,6,8,10为重量。inp<-scan(\
######将数据读出,并以列表的方式赋给变量inp,其中height ######和weight为列表inp的元素名称。
x<-scan() ##########不给函数名,则直接从屏幕读数据
1
2 读取其他软件格式的数据文件
这些软件有:SPSS, SAS, S-PLUS, Stata,调用foreign程序包,包含所需的函数
x<-read.spss(\ #######(SPSS软件)返回列表 x
read.spss(\
#########返回数据框
read.xport(\ #######(SAS软件)返回数据框 read.S(\ #########(S-PLUS软件)返回数据框 read.dta(\ ########(Stata软件)返回数据框
调用foreign程序包步骤:
2
一步(选择“程序包”—>加载程序包)
二步(选择“foreign”) 3 读取Excel表格数据
如果没有下载“RODBC”程序包,R无法直接读Excel格式(.xls)文件,需要转换成其他格式,然后读出。
1)将Excel文件转换成文本文件(.txt):将“educ_scores.xls”(Excel格式)文件打开,然后选另存为——“文本文件(制表符分隔)”,
3
即存为“educ_scores.txt”文件,见图:
调用read.delim( )读取
z<-read.delim(\返回值为数据框 z
当所读数据文件无表头(列名)时,选择
read.delim(\,header=FALSE) ,返回值将自动增加V1,V2,...作为数据的表头。
2)将Excel文件转换成”CSV(逗号分隔)”文件:将
“educ_scores.xls”(Excel格式)文件打开,然后选另存为——“CSV(逗号分隔)”,即存为“educ_scores.csv”文件,见图:
4
调用read.csv( )读取
read.csv(\ #############返回值为数据框 3 直接读取Excel数据表
需下载“RODBC”程序包,在R工作窗口,打开“程序包--->加载程序包---->RODBC”或用library(RODBC)命令,如图1
图1
5