gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 09:47:08 33 4
gpt4 key购买 nike

我的公司最近转换为 SAS 并且没有购买 SAS SHARE 许可证,因此我无法通过 ODBC 访问服务器。我不是 SAS 用户,但我正在编写一个需要从服务器查询数据的程序,并且我想让我的 R 脚本调用 .sas 程序来检索数据。我认为这是可能的使用

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

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

错误信息:

running command 'sas -SYSIN  C:/Desktop/test.sas' had status 127 

谢谢!

最佳答案

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

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

    setwd("c:\\Program Files\\SASHome 9.4\\SASFoundation\\9.4\\")
    return.code <- shell("sas.exe -SYSIN c:\\temp\\myprogram.sas")

    请注意,返回的不是数据本身,而是操作系统发出的代码,告诉您任务是否成功。一个代码0表示任务已成功。

    在 sas 程序中,我所做的只是创建 sashelp.baseball 的副本在 c:\temp目录。

  2. 使用为此编写的软件包之一将生成的数据集导入 R。 Haven是最新的和 IMO 最可靠的。

    # Install Haven from CRAN:
    install.packages("haven")
    # Import the dataset:
    myData <- read_sas("c:\\temps\\baseball.sas7bdat")

你应该拥有它!

关于r - 使用 system() 命令在 R 中执行 SAS 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37395945/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com