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

时间:2015-01-16 03:33:00

标签: r macros sas

由于R和SAS将继续留在统计分析领域,我一直在探索如何使它们彼此更好地协同工作。从URL- http://www.jstatsoft.org/v46/c02下载$ PROC_R,这是一个SAS宏,支持在基本SAS环境中运行R代码。还遵循补充PDF文件中的说明在桌面上创建修改的SAS快捷方式,因为我在Windows 8操作系统中使用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:\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.

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

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

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

首先:

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

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

答案 1 :(得分:0)

我遇到了同样的问题。直到现在我还没有解决它,但我通过删除宏中关于&#34;显示R图形&#34;的通道来规避这个问题。 (宏观中的第181行至233行)。这样做之后,它对我有用。我会做进一步的调查。我在这里读到

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

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

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

总而言之,我认为它是一个伟大的宏观,但遗憾的是没有太多关于它的文献。

干杯