|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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用户自定义格式。此外,这个函数用了明显更多的时间来进行处理。 |
评分
-
查看全部评分
|