马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
R中包含许多用来导入SAS数据集的函数,包括foreign包中的read.ssd(),Hmisc包中的sas.get(),以及sas7bdat包中的read.sas7bdat()。如果你安装了SAS,sas.get()是一个好的选择。
比如说,你想导入一个名为client.sas7bdat的SAS数据集文件,它位于一台Windows机器上的C:/mydata文件夹中,以下代码导入了数据,并且保存为一个R数据框: library(Hmisc)
datadir <- "C:/mydata "
sasexe <- "C:/Program Files/SASHome/SASFoundation/9.4/sas.exe"
mydata <- sas.get(libraryName=datadir,member="clients",sasprog=sasexe)
libraryName是一个包含了SAS数据集的文件夹。member是数据集的名字(去除掉后缀名sas7bdat),sasprog是到SAS可运行程序的完整路径。
你也可以在SAS中使用PROC EXPROT将SAS数据集保存为一个逗号分隔的文本文件,然后将导出的文件读取到R中。下面是一个实例:
SAS程序: libname datadir "C:/mydata";
proc export data=datadir.clients
outfile="clients.csv";
run;
R程序:mydata <- read.table("clients.csv",header=TRUE,sep=",")
前面两种方法要求你安装了一套完整的可运行的SAS程序。如果你没有连接SAS的途径,函数read.sas7dbat()也许是一个好的候选项。这个函数可以直接读取sas7dbat格式的SAS数据集。这个例子对应的代码是: library(sas7bdat)
maydata <- read.sas7bdat("C:/mydata/clients.sas7bdat")
不像sas.get(),read.sas7dbat()忽略了SAS用户自定义格式。此外,这个函数用了明显更多的时间来进行处理。 |