鱼C论坛

 找回密码
 立即注册
查看: 6602|回复: 0

[学习笔记] 《R语言学习笔记》——导入SAS数据

[复制链接]
发表于 2017-6-15 09:46:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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用户自定义格式。此外,这个函数用了明显更多的时间来进行处理。

评分

参与人数 1鱼币 +4 收起 理由
小甲鱼 + 4 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 16:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表