楼主: hamsik11
7515 14

[问答] 请教一个SAS调用R的问题 [推广有奖]

  • 0关注
  • 3粉丝

已卖:51份资源

副教授

16%

还不是VIP/贵宾

-

威望
0
论坛币
9016 个
通用积分
1.0000
学术水平
5 点
热心指数
8 点
信用等级
4 点
经验
24079 点
帖子
404
精华
0
在线时间
569 小时
注册时间
2011-3-22
最后登录
2025-11-28

楼主
hamsik11 发表于 2014-2-24 16:48:01 |AI写论文
100论坛币
我在sas调用R的时候碰到一系列问题,说是要rlang的方式启动R。其中一个说明是“To get access to R, SAS has to be started with the RLANG Option (C:\...\sas.exe -RLANG). ”。


这个具体怎么操作?有通知了解吗?谢谢

关键词:Started access Option Start Acces started access

回帖推荐

jiangpinggu 发表于5楼  查看完整内容

你的问题已经解决,请按如下步骤检查和设置: 步骤: 1、运行如下程序,查看安装License site的限制: proc options restrict; run; SAS (R) PROPRIETARY SOFTWARE RELEASE 9.3 TS1M2 SAS 选项受您的软件安装点管理员限制 您的软件安装点管理员尚未限定任何 SAS 选项。 NOTE: “PROCEDURE OPTIONS”所用时间(总处理时间): 实际时间 0.00 秒 CPU 时间 ...

沙发
zhengbo8 发表于 2014-2-25 17:56:54
请问是SAS让R程序跑起来,R输出结果,SAS再去读结果。
还是sas直接获取R运行后的结果?

藤椅
webgu 发表于 2014-2-27 08:39:20
1. 在SASV9.CFG 里添加 Rlang选项,如下:

  -Rlang

2. 启动SAS, 检查RLANG选项。
proc options option=rlang;
run;

3. 提交R代码。
proc iml;
  submit / R;
  rx <- matrix( 1:3, nrow=1) ;
  endsubmit;
quit;

不一定能成功。好像和R的版本有关。
SAS资源
1. SAS 微信:StatsThinking
2. SAS QQ群:348941365

板凳
jiangpinggu 发表于 2014-2-27 23:32:29
Rlang功能有License site限制,如果你安装的SAS9.3的License site允许你开放这个功能,请按带下步骤设置,看如下测试:
There are many things that R just does better. Hence, I am trying to set my system up so I can execute R commands from within

SAS using the [submit /R;] and [endsubmit;] commands. However I need some help getting my config files set up properly to do

this.

First Steps (to allow SAS to read the R language):
I checked to see if my system was set up to read the R language (code below).

proc options option=rlang;
run;
I got the following in my log:

SAS (r) Proprietary Software Release 9.3  TS1M0

NORLANG           Do not support access to R language interfaces
This meant I needed to add the -RLANG option to the config file. I did that. Below is an example of my config file (C:\Program

Files\SASHome\SASFoundation\9.3\sasv9.cfg):

-RLANG
-config "C:\Program Files\SASHome\SASFoundation\9.3\nls\en\sasv9.cfg"
(NOTE: the -RLANG had to be above the config reference for this to be recognized properly.)

And the resulting output in my log after re-opening enterprise guide and re-running the proc options code above:

SAS (r) Proprietary Software Release 9.3  TS1M0

RLANG             Support access to R language interfaces

报纸
jiangpinggu 发表于 2014-2-28 00:12:37
你的问题已经解决,请按如下步骤检查和设置:

步骤:

1、运行如下程序,查看安装License site的限制:

    proc options restrict;
    run;

     SAS (R) PROPRIETARY SOFTWARE RELEASE 9.3  TS1M2


SAS 选项受您的软件安装点管理员限制
     您的软件安装点管理员尚未限定任何 SAS 选项。

NOTE: “PROCEDURE OPTIONS”所用时间(总处理时间):
      实际时间          0.00 秒
      CPU 时间          0.00 秒

结果,是无限制,说明可以设置Rlang。

2、打开(如果你用简本中文SAS):
C:\Program Files\SASHome\SASFoundation\9.3\nls\zh\sasv9.cfg
用记事本打开,在最前加一行:
-RLANG


3、然后运行:
proc options option=RLANG;  run;

结果如下:

1    proc options option=RLANG;
2    run;

     SAS (R) PROPRIETARY SOFTWARE RELEASE 9.3  TS1M2

RLANG             支持访问 R 语言接口
NOTE: “PROCEDURE OPTIONS”所用时间(总处理时间):
      实际时间          0.00 秒
      CPU 时间          0.00 秒

成功!!
注意:SAS9.3的Rlang功能,要求R版本:2.9.1或更高版本!
对如何使用,请参考我附上的附件!

IML_Using R.pdf
下载链接: https://bbs.pinggu.org/a-1496654.html

301.34 KB

SAS IML_using R

地板
jiangpinggu 发表于 2014-2-28 00:14:15
如果楼主,安装了R版本:2.9.1版本或更高,按照上述方法,和附件的说明和例子,可测试运行和学习。

7
jiangpinggu 发表于 2014-2-28 00:20:01
你的问题已经解决,请按如下步骤检查和设置:

步骤:

1、运行如下程序,查看安装License site的限制:

    proc options restrict;
    run;

     SAS (R) PROPRIETARY SOFTWARE RELEASE 9.3  TS1M2


SAS 选项受您的软件安装点管理员限制
     您的软件安装点管理员尚未限定任何 SAS 选项。

NOTE: “PROCEDURE OPTIONS”所用时间(总处理时间):
      实际时间          0.00 秒
      CPU 时间          0.00 秒

结果,是无限制,说明可以设置Rlang。

2、打开(如果你用简本中文SAS):
C:\Program Files\SASHome\SASFoundation\9.3\nls\zh\sasv9.cfg
用记事本打开,在最前加一行:
-RLANG


3、然后运行:
proc options option=RLANG;  run;

结果如下:

1    proc options option=RLANG;
2    run;

     SAS (R) PROPRIETARY SOFTWARE RELEASE 9.3  TS1M2

RLANG             支持访问 R 语言接口
NOTE: “PROCEDURE OPTIONS”所用时间(总处理时间):
      实际时间          0.00 秒
      CPU 时间          0.00 秒

成功!!
注意:SAS9.3的Rlang功能,要求R版本:2.9.1或更高版本!
对如何使用,请参考我附上的附件!

请看我的附件: SAS IML_using R.pdf

8
jiangpinggu 发表于 2014-2-28 11:24:41
另外,不同的SAS版本,对R版本要求不一样,例如:SAS9.3和SAS9.3m2版本,要求R版本:2.9.1-2.15.3;而SAS9.22,要求R版本为:2.9.1-2.11.1

请注意R版本对应SAS版本:参考:
http://blogs.sas.com/content/iml ... e-supported-by-sas/

9
jiangpinggu 发表于 2014-2-28 13:53:01
刚安装R-2.15.3版本,在SAS9.3_win32平台测试成功!!
运行如下程序:
-------------------------------------------------------------------------------
/* R测试 */
proc options option=RLANG;  
run;

proc iml;
/* Comparison of matrix operations in IML and R */
  print "---------- SAS/IML Results -----------------";
  x = 1:3; /* vector of sequence 1,2,3 */
  m = {1 2 3, 4 5 6, 7 8 9}; /* 3 x 3 matrix */
  q = m * t(x); /* matrix multiplication */
  print q;

  print "------------- R Results --------------------";
  submit / R;
  rx <- matrix( 1:3, nrow=1) # vector of sequence 1,2,3
  rm <- matrix( 1:9, nrow=3, byrow=TRUE) # 3 x 3 matrix
  rq <- rm %*% t(rx) # matrix multiplication
  print(rq)
endsubmit;
quit;
------------------------------------------------------------------------------

运行结果:
====================================

1    /* R测试 */
2    proc options option=RLANG;
3    run;

     SAS (R) PROPRIETARY SOFTWARE RELEASE 9.3  TS1M2

RLANG             支持访问 R 语言接口
NOTE: “PROCEDURE OPTIONS”所用时间(总处理时间):
      实际时间          0.00 秒
      CPU 时间          0.00 秒


4
5    proc iml;
NOTE: 正在写入 HTML Body(主体)文件: sashtml.htm
NOTE: IML Ready
6    /* Comparison of matrix operations in IML and R */
7      print "---------- SAS/IML Results -----------------";
8      x = 1:3;
8  !            /* vector of sequence 1,2,3 */
9      m = {1 2 3, 4 5 6, 7 8 9};
9  !                              /* 3 x 3 matrix */
10     q = m * t(x);
10 !                 /* matrix multiplication */
11     print q;
12
13     print "------------- R Results --------------------";
14     submit / R;
15     rx <- matrix( 1:3, nrow=1) # vector of sequence 1,2,3
16     rm <- matrix( 1:9, nrow=3, byrow=TRUE) # 3 x 3 matrix
17     rq <- rm %*% t(rx) # matrix multiplication
18     print(rq)
19   endsubmit;
20   quit;
NOTE: Exiting IML.
NOTE: “PROCEDURE IML”所用时间(总处理时间):
      实际时间          0.64 秒
      CPU 时间          0.17 秒





---------- SAS/IML Results -----------------



q
14
32
50



------------- R Results --------------------



     [,1]                                                                                                            
[1,]   14                                                                                                            
[2,]   32                                                                                                            
[3,]   50                          
========================================

测试成功,OK!!

而且,打开 SAS IML Studio 12.1,打开运行 Program\Doc\StatGudie\R文档,成功!!

10
jiangpinggu 发表于 2014-2-28 15:00:25
Calling R functions from SAS中,SAS版本与R版本的兼容性,请看下表(图)。
(注意,SAS9.21_win32版本,没有与R联接的功能。)

Calling R from SAS.bmp


已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
webgu + 60 + 60 + 1 + 1 + 1 精彩帖子

总评分: 经验 + 60  论坛币 + 60  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-2 10:18