[R语言基础]——数据的输入

  • 一、从带分隔符的文本文件导入数据
  • 函数read.table()的选项
  • 二、导入Excel数据
  • 三、导入SPSS数据
  • 四、导入SAS数据
  • 总结


一、从带分隔符的文本文件导入数据

read.table()
此函数可读入一个表格形式的文件并将其保存为一个数据框

mydataframe<-read.table(file,options)
#file是一个带分隔符的AScII文本文件,options是控制如何处理数据的选项

函数read.table()的选项

选项

描述

header

表示是否在第一行包含了变量名的逻辑型变量。header=TRUE

sep

分开数据值的分隔符

row.names

用于指定一个或多个行标记的可选参数

col.names

若文件第一行不包括变量名(header=TRUE),可以用col.names指定一个包含变量名的字符向量。若header=FALSE以及col.name都被省略,变量则被命名为v1,v2,…

na.strings

用于表示缺失值的字符向量。如:na.strings=c("-9","?")把-9和?转换为NA

colClasses

分配到每一列的类向量。如:colClasses=c(“numeric”,“numeric”,“character”,“NULL”,“numeric”)

skip

跳过行的数目

stringsAsFactors

逻辑变量,标记处字符向量是否要转化为因子。默认为TRUE

text

指定文字进行处理的字符串,若text设置了,file应该留空

grades<-read.table("studentgrades.csv",header=TRUE,row.name="StudentID",sep=",")

read.table()默认将字符变量转化为因子,可用staringsAsFactors=FALSE对所有字符变量去掉这个行为,或用cloClasses对每一列指定一个类(逻辑型、数值型、字符型、因子型)

grades<-read.table("studentgrades.csv",header=TRUE,row.name="StudentID",sep=",",colClasses=c("character","character","character","numeric","numeric","numeric"))

二、导入Excel数据

  1. 可在Excel中将.xls文件导出为逗号分隔文件.csv,再利用上述方式导入到R中。
  2. read.xlsx() 导入一个工作表到一个数据框中。如:read,xlsx(file,n) file是Excel工作簿所在路径,n为要导入的工作表序号。
library(xlsx)
workbook<-"c:/myworkbook.xlsx"
mydataframe<-read.xlsx(workbook,1)
#从C盘茛目鲤导入第一个工作表,并将其保存为一个数据框mydataframe

三、导入SPSS数据

  1. read.spss()
  2. Hmisc包中的spss.get()函数
install.packages("Hmisc")
library(Hmisc)
mydataframe<-spss.get("mydata.csv",use.value.labels=TRUE)
#use.value.labels=TRUE表示让函数将带有值标签的变量导入为R中水平对应相同的因子

四、导入SAS数据

有几种需要SAS运行程序的方法此处不赘述了。若没有连接SAS的路径,可通过函数read.sas7bdat()

library(sas7bdat)
mydata<-read.sas7bdat("C:/mydata/clients.sas7bdat")

总结

总之,我们最常用的导入数据到R中的方式便是从带分隔符的文本文件导入数据,需要多加注意read.table()函数的选项使用。