【发布时间】:2015-03-14 15:23:38
【问题描述】:
自从 R 和 SAS 留在统计分析领域以来,我一直在探索存在哪些方法可以使它们更好地协同工作。从 URL-http://www.jstatsoft.org/v46/c02 下载 $PROC_R,这是一个 SAS 宏,可以在基本 SAS 环境中运行 R 代码。当我在 Windows 8 操作系统中使用 SAS 9.4 时,还按照补充 PDF 文件中的说明在桌面上创建修改后的 SAS 快捷方式。
当我执行示例代码时,出现 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:\Users\878572\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.
感谢任何帮助。
【问题讨论】:
-
你有 SAS/IML 许可吗?
-
同意@Reeza 暗示的观点。 PROC IML 允许您调用 R,将 SAS 数据集和矩阵推入/拉出 R 数据帧和 R 矩阵,并运行 R 代码。
-
感谢 Reeza 和 DomPazz。目前我们没有获得 SAS/IML 许可,但 Reeza 的回答有所帮助。