我正在尝试将SAS数据读入R,类似于这里的快速教程:https://josezea.wordpress.com/2019/05/02/connect-sas-server-from-r/
问题是,我尝试连接的服务器使用的是IOM协议,而RCurl包似乎不支持该协议。对于在R中使用这些协议从SAS服务器读取数据,有人有什么建议吗?它可以从文件路径或库中读取,这两种方式都适合我的方案。谢谢!
下面是我尝试在R中运行的代码:
library(RCurl)
library(haven)
protocol <- "IOM"
server <- "server.com:5555"
userpwd <- "username:password"
sasfileRoute <- "/path_to_data/bonus_schedule.sas7bdat"
## Read Data as data frame
url <- paste0(protocol, "://", server, sasfileRoute)
binary_sasdata <- getBinaryURL(url = url, userpwd=userpwd)
df_data = read_sas(binary_sasdata)发布于 2021-05-04 05:18:26
我想你误解了链接页面的作用。它展示了如何使用R读取SAS数据集-但不连接到SAS。
SAS数据集通常存储为.sas7bdat文件。您应该通过SFTP或网络共享或类似的方式连接以访问数据集;如果数据集存储在LASR服务器或其他内存位置,这将不起作用。
如果需要连接到SAS本身(以执行代码或访问内存中的数据),则可以在SAS服务器是SAS Viya服务器的情况下这样做。有关这方面的更多信息,请参见R SWAT;它使用SAS来执行您所需的操作。
否则,您将不得不从R内部运行SAS可执行文件(如果您有权访问该版本的SAS),或者让SAS用户从SAS内部为您导出数据。我不熟悉通过R直接连接到SAS 9的方法,注释中的链接似乎过时了(至少CRAN似乎不再有那个包)。
SASPy确实允许Python做一些与SAS9.4类似的事情,所以如果您有SAS9.4,这可能是一个更好的方法。
发布于 2021-05-04 05:15:51
IOM是其集成技术产品使用的SAS协议。找到文件的网络路径并使用它,而不是IOM。查看使用IOM的参考资料(C#、Java、PowerShell等)在SAS网站上。通常,IOM用于代码提交和SAS对象管理。
https://stackoverflow.com/questions/67375358
复制相似问题