%PROC_R 错误:在 Base SAS 环境中启用本机 R 编程的 SAS 宏

Error with %PROC_R: A SAS Macro that Enables Native R Programming in the Base SAS Environment

自从 R 和 SAS 留在统计分析领域以来,我一直在探索存在哪些方法可以使它们更好地相互协作。从 URL- http://www.jstatsoft.org/v46/c02 下载 $PROC_R,这是一个 SAS 宏,可在基本 SAS 环境中启用 运行 R 代码。还按照补充 PDF 文件中的说明在桌面上创建修改后的 SAS 快捷方式,因为我在 Windows 8 OS.

中使用 SAS 9.4

当我执行示例代码时出现 2 个错误。

SAS 代码:

data test;
do x=1 to 4;
array a[4] a1-a4;
do i=1 to 4;
a[i] = rannor(100);
end;
output;
end;
drop i x;
run;

%include "C:\Proc_R.sas";
%Proc_R (SAS2R = test, R2SAS =);
cards4;
R> testm <- as.matrix(test)
R> eigen(testm)
;;;;
%quit;

第一个错误:(但是代码执行并未在此处停止)

ERROR: Physical file does not exist, C:\Users8572\AppData\Local\Temp\SAS Temporary
   Files\_TD4972_01HW475399_\r_log_1737015649.txt.

第二个错误:

ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric
   operand is required. The condition was: &fgsw=1
ERROR: The macro QUIT will stop executing.

感谢任何帮助。

该代码已有大约 4 年历史,需要对您系统上的 运行 进行一些修改。

https://github.com/Jiangtang/Programming-SAS/blob/master/Proc_R.sas

初学者:

更改第 49 行以引用您的 R 版本,很可能是 R 版本 3。

我没有测试其余代码,因此您可能 运行 会遇到更多错误。

我遇到了同样的问题。直到现在我还没有解决它,但我通过删除宏中关于 "display R graphics" 的段落(宏中的第 181 至 233 行)来绕过这个问题。这样做后,它对我有用。我会做一些进一步的调查。我在这里阅读

http://saslist.com/blog/category/proc_r/

……关于修复图形问题的 setwd() 语句。

暂时希望对您有所帮助。如果我找到任何解决方案,我会给出一个新的答案...

总而言之,我认为这是一个很棒的宏,但不幸的是,关于它的文献并不多。

干杯