我已经在R studio中定义了一些R函数,该函数具有一些复杂的脚本和大量的读取行。我可以在R studio中成功运行它们。有没有办法像宏一样将这些用户定义的函数传输到SAS 9.4以便使用?我对SAS编程不太熟悉,因此最好将R函数复制到SAS中并直接使用它。我正在尝试找出如何进行转换。谢谢!
答案 0 :(得分:4)
您不能在SAS中本机运行R代码,并且您可能不想这样做。 R和SAS是完全不同的概念,SAS更接近于数据库语言,而R是矩阵语言。高效的R方法在SAS中非常糟糕,反之亦然。 (在R中尝试一个简单的循环,您会发现SAS快几个数量级;但是在R中尝试矩阵代数)。
但是,您可以在SAS中呼叫R。您需要使用SAS的矩阵语言PROC IML(可能是与SAS分开的许可证);在那里,您就可以使用submit / R将代码提交给R。您需要设置RLANG系统选项,并且可能需要在SAS框上设置一些其他详细信息,以确保它可以看到R的安装,并且您需要R 3.0+。您还需要运行SAS 9.22或更高版本。
如果通过IML没有可用的R,则可以使用x
或call system
(如果已启用)并且可以通过命令行访问R。或者,您可以与SAS分开手动运行R。无论哪种方式,您都可以使用CSV或类似的文件格式来回传输数据。
最后,我建议查看SAS中是否有更好的方法来解决您在R中解决的相同问题。通常有,而且通常非常快。