编辑SAS配置文件以执行R(使SAS与其他人一起玩得很好)

ESm*_*988 6 configuration r sas

R有很多东西可以做得更好.因此,我试图设置我的系统,以便我可以使用[submit/R;]和[endsubmit;]命令从SAS内执行R命令.但是我需要一些帮助才能正确设置我的配置文件来执行此操作.

第一步(允许SAS读取R语言):

我检查了我的系统是否设置为读取R语言(下面的代码).

proc options option=rlang;
run;
Run Code Online (Sandbox Code Playgroud)

我的日志中有以下内容:

SAS (r) Proprietary Software Release 9.3  TS1M0

NORLANG           Do not support access to R language interfaces
Run Code Online (Sandbox Code Playgroud)

这意味着我需要在配置文件中添加-RLANG选项.我做到了 下面是我的配置文件的示例(C:\ Program Files\SASHome\SASFoundation\9.3\sasv9.cfg):

-RLANG
-config "C:\Program Files\SASHome\SASFoundation\9.3\nls\en\sasv9.cfg"
Run Code Online (Sandbox Code Playgroud)

(注意:-RLANG必须高于配置参考,才能正确识别.)

在重新打开企业指南并重新运行上面的proc选项代码之后,在我的日志中生成结果:

SAS (r) Proprietary Software Release 9.3  TS1M0

RLANG             Support access to R language interfaces
Run Code Online (Sandbox Code Playgroud)

问题(特定于企业指南?):

我正在使用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; 
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

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
Run Code Online (Sandbox Code Playgroud)

根据此主题(https://communities.sas.com/thread/34758),使用Enterprise Guide的个人还需要定义R_Home在其计算机上的位置.该主题讨论了在sasenv_local中更改内容但我需要更具体的指示.

有关如何使其工作的任何建议或建议?

Joe*_*Joe 5

如果问题仅在本地环境变量中定义R_HOME,则至少有三个选项.如果您有权访问配置文件(OP中的-config中引用的文件),则可以将其添加到配置文件中:

-SET R_HOME "r_home location"
Run Code Online (Sandbox Code Playgroud)

如果您没有权限修改配置文件,也可以使用options set相同的操作(options set=R_HOME='r_home location';).

您还应该可以直接在Windows中修改环境变量,方法是转到"我的电脑",右键单击"属性","高级","环境变量",然后在其中进行设置.同样,这需要管理权.

有关更多信息,请参阅此文章.

如OP所述.R_HOME需要设置为R的基目录(例如c:\ program files\R),而不是设置到\ bin文件夹或任何其他特定位置.

  • 我想跳起来说是的!它工作:)我会添加一件事.需要将R_HOME设置为安装目录的位置(例如,C:\ Program Files(x86)\ R-2.15.2)而不是R.exe的位置或bin子目录. (2认同)