R可以在很多方面做得更好。因此,我正在尝试设置系统,以便可以使用[submit/R;]和[endsubmit;]命令在SAS中执行R命令。但是我需要一些帮助来正确设置我的配置文件来执行此操作。
第一步(允许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),使用《企业指南》的个人还需要定义R_Home在其计算机上的位置。该线程讨论了在sasenv_local中更改某些内容,但我需要更具体的说明。
关于如何使它起作用的任何建议或建议吗?
最佳答案
如果问题仅是在局部环境变量中定义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文件夹或任何其他特定位置。