如何在 SAS 9.4 中创建和使用 R 函数?

How to create and use an R function in SAS 9.4?

我在 R studio 中定义了一些 R 函数,其中有一些复杂的脚本和大量的 readlines。我可以 运行 他们在 R studio 中成功。有没有办法,像宏一样把这些用户自定义的函数转给SAS 9.4使用?我不太熟悉 SAS 编程,所以最好将 R 函数复制到 SAS 中并直接使用它。我想弄清楚如何进行转换。谢谢!

您不能在 SAS 中原生 运行 R 代码,您可能也不想这样做。 R 和 SAS 是完全不同的概念,SAS 更接近数据库语言,而 R 是矩阵语言。高效的 R 方法在 SAS 中很糟糕,反之亦然。 (在 R 中尝试一个简单的循环,您会发现 SAS 快几个数量级;但在 R 中尝试矩阵代数)。

不过,您可以在 SAS 中调用 R。您需要使用 PROC IML,SAS 的矩阵语言(它可能是您的 SAS 的单独许可);到达那里后,您使用 submit / R 将代码提交给 R。您需要设置 RLANG 系统选项,并且您可能需要在 SAS 盒上设置一些其他详细信息以确保它可以看到您的 R 安装,你需要 R 3.0+。您还需要 运行ning SAS 9.22 或更新版本。

如果您没有通过 IML 获得 R,您可以使用 xcall system,如果它们已启用并且您可以通过命令行访问 R。或者,您可以 运行 R 与 SAS 分开手动操作。无论哪种方式,您都可以使用 CSV 或类似的文件格式来回传输数据。

最后,我建议看看在 SAS 中是否有更好的方法来解决您在 R 中解决的相同问题。通常有,而且速度通常很快。