首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用system()命令在R中执行SAS程序

使用system()命令在R中执行SAS程序
EN

Stack Overflow用户
提问于 2016-05-24 00:20:31
回答 1查看 10.3K关注 0票数 3

我的公司最近转换为SAS,没有购买SAS共享许可证,所以我不能ODBC到服务器。我不是SAS用户,但是我正在编写一个需要从服务器查询数据的程序,我想让我的R脚本调用一个.sas程序来检索数据。我认为这是可能的,使用

df <- system("sas -SYSIN path/to/sas/script.sas")

但我似乎不能让它工作。我花了几个小时在谷歌上,并决定在这里提问。

错误消息:

代码语言:javascript
复制
running command 'sas -SYSIN  C:/Desktop/test.sas' had status 127 

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-24 09:43:32

假设您的sas程序生成了一个sas数据集,您将需要做两件事:

通过shellsystem运行

  • ,让SAS运行程序,但首先在包含sas可执行文件的目录中执行cd,以防该目录不在PATH环境变量中。

setwd("c:\\Program Files\\SASHome 9.4\\SASFoundation\\9.4\\")

return.code <- shell("sas.exe -SYSIN c:\\temp\\myprogram.sas")

请注意,此操作返回的不是数据本身,而是操作系统发出的告诉您任务是否成功的代码。代码0意味着任务有succeeded.In sas程序,我所做的就是使用为此编写的包之一,在sashelp.baseballc:\temp中创建一个副本,将生成的数据集导入R中。Haven是最新的,也是国际上最可靠的。

# Install Haven from CRAN:

install.packages("haven")

# Import the dataset:

myData <- read_sas("c:\\temps\\baseball.sas7bdat")

现在你应该已经拥有它了!

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37395945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档