R有很多东西可以做得更好。因此,我试图设置我的系统,以便我可以使用[submit / R;]和[endsubmit;]命令从SAS内执行R命令。但是我需要一些帮助才能正确设置我的配置文件来执行此操作。
我检查了我的系统是否设置为读取R语言(下面的代码)。
proc options option=rlang;
run;
我的日志中有以下内容:
SAS (r) Proprietary Software Release 9.3 TS1M0
NORLANG Do not support access to R language interfaces
这意味着我需要在配置文件中添加-RLANG选项。我做到了下面是我的配置文件示例(C:\ Program Files \ SASHome \ SASFoundation \ 9.3 \ sasv9.cfg):
-RLANG
-config "C:\Program Files\SASHome\SASFoundation\9.3\nls\en\sasv9.cfg"
(注意:-RLANG必须高于配置参考,才能正确识别。)
重新打开企业指南并重新运行上面的proc选项代码后,我的日志中得到的输出:
SAS (r) Proprietary Software Release 9.3 TS1M0
RLANG Support access to R language interfaces
我使用的是SAS 9.3和R 2.15.2,因此根据这个(http://blogs.sas.com/content/iml/2013/09/16/what-versions-of-r-are-supported-by-sas/)这些版本是兼容的。
但是,我通过企业指南4.3(我更喜欢组织)执行SAS。看来,企业指南可能需要配置文件中的一些额外内容,以允许R运行并识别它在我的计算机上的位置。
例如,我尝试运行以下代码:
Proc iml;
submit /R;
directory <- "C:\\Data\\Filepath"
FILEpattern1 <- "Fall 12-13.xlsx"
setwd(directory)
filenames1 <- list.files(pattern=FILEpattern1)
endsubmit;
我收到以下错误:
15 Proc iml;
NOTE: IML Ready
16 submit /R;
17 directory <- "C:\\Data\\Filepath"
18 FILEpattern1 <- "Fall 12-13.xlsx"
19
20 setwd(directory)
21 filenames1 <- list.files(pattern=FILEpattern1)
22 endsubmit;
ERROR: SAS could not initialize the R language interface.
statement : SUBMIT at line 16 column 1
根据此主题(https://communities.sas.com/thread/34758),使用Enterprise Guide的个人还需要定义R_Home在其计算机上的位置。该主题讨论了在sasenv_local中更改内容但我需要更具体的指示。
有关如何使其发挥作用的任何建议或建议?
答案 0 :(得分:5)
如果问题仅在本地环境变量中定义R_HOME,则至少有三个选项。如果您有权访问配置文件(OP中的-config中引用的文件),您可以将其添加到配置文件中:
-SET R_HOME "r_home location"
如果您无权修改配置文件,也可以使用options set
执行相同的操作(options set=R_HOME='r_home location';
)。
您还应该能够直接在Windows中修改环境变量,方法是转到“我的电脑”,右键单击“属性”,“高级”,“环境变量”并在其中进行设置。同样,这需要管理权。
有关详细信息,请参阅this paper。
如OP所述。 R_HOME
需要设置为R的基本目录(例如c:\ program files \ R),而不是设置到\ bin文件夹或任何其他特定位置。