直接输入数据导入带分隔符文本数据导入csv格式导入xlsx、sas、dta格式数据导入sav格式数据
在R语言中,数据的获取方式主要有三种。一种是直接使用R语言的文本编辑器功能进行录入需要分析的数据。一种是读取各类数据文件,如txt、csv、xlsx、sav、dta、sas等。还有一种是使用爬虫包进行数据获取,如rvest包、Rcurl包。
以爬虫方式获取数据,本章不涉及,另立专题。
用R内置的文本编辑器输入数据。通过edit()函数实现。这个函数会自动调用一个GUI窗口,可以直接输入数据。具体步骤分为两步。1.创建一个空数据框(或矩阵),变量名和变量类型需要与理想数据集一致。2.调用这个数据对象,输入数据,并保存结果。例如:创建一个名为mydata的数据框,包含三个变量:age(数值型)、gender(字符型)、weight(数值型)。然后调用文本编辑器,键入数据,最后保存结果。
1#生成空数据框2mydata <- data.frame(age=numeric(0),gender=character(0),weight=numeric(0))3#通过edit函数调用4mydata <- edit(mydata)结果会出现一个编辑器,输入数据即可。
fix(mydata)等价于mydata<-edit(mydata)。
可以使用read.table()从带分隔符的文本文件中导入数据。其语法为:mydataframe<-read.table(file,options)其中,file是一个带分隔符的ASCII文本文件,options是控制如何处理数据的选项。常见的options选项有:
选项描述header文件第一行为变量时使用,headder=TRUEsep间隔符号。默认是sep='',代表空格。以逗号分隔时,用sep=','row.names指定行IDcol.names指定列名na.strings用于表示缺失值的字符向量。如na.strings=c('-9','?')colClasses指定列的变量类型stringsAsFactors逻辑变量,是否将目标变量转化为因子。默认值为TRUEread.csv(file, header = TRUE, sep = ‘,’, quote = ‘\’,dec = ‘.’, fill = TRUE,comment.char = ‘’, …)参数类似于read.tabel()函数
直接通过Rstudio右上角Environment面板页中的ImportDataset导入。
SPSS软件的sav格式文件,通过ImportDataset导入有可能会出错。导入sav格式可以通过foreigh包中read.spss函数和Hmisc包中spss.get函数完成。spss.get函数是read.spss函数的封装,可以自动设置许多参数。建议使用Hmisc包spss.get函数。spss.get函数示例:
1#安装Hmisc包2install.packages('Hmisc')3#载入包4library(Hmisc)5#导入sav文件6mydataframe<-spss.get('mydata.sav',use.value.labels=TRUE)需要注意sav格式的文件地址用/,而不是\反斜杠。也可以将sav格式文件转换为csv、