通过R传递已解析的SAS宏变量

时间:2017-09-27 23:05:23

标签: r macros sas parameter-passing

我正在制作经历了相当长途旅程的PDF。首先,SAS宏创建一个.txt文件,该文件被读入R,然后输出到最终的PDF中。我想通过SAS运行我的R程序,但是我需要将SAS中引用的文件路径传递给R.我已经开始使用' rawr'包,但这不是通过R传递已解决的 SAS宏变量。任何见解都将非常感激。我探索任何途径。 谢谢!

1 个答案:

答案 0 :(得分:1)

正如Quentin所说,您可以使用SAS / IML界面将信息从SAS传递到R.在SUBMIT行上,您可以放置​​任何SAS / IML变量,并且在SAS将程序发送到R之前,该变量的值将作为文本替换(作为文本)。The SAS/IML documentation contains examples.

如果要将宏值发送到R中,首先将其存储到SAS / IML变量中,然后将SAS / IML变量的值传递给R ,如下:

%let path = C:/Temp/Path1;
proc iml;
path1 = "&path";   /* copy to character string */
submit path1 / R; 
    theSASpath <- "&path1"
    theSASpath
endsubmit;

如果在程序运行时宏变量的值发生变化,只需重新运行&#34; path =&#34;和SUBMIT语句来更新路径的R副本。