Sas 从Proc IML调用R时,编码问题是什么
当我从Proc IML调用R时,它报告一个错误:SAS无法将字符数据转换为R编码 我提交这行代码:Sas 从Proc IML调用R时,编码问题是什么,sas,Sas,当我从Proc IML调用R时,它报告一个错误:SAS无法将字符数据转换为R编码 我提交这行代码:%put%sysfunc(getoption(encoding)) 结果是UTF-8 以下是SAS文档中的示例代码: proc options=rlang; 运行 RLANG使SAS能够执行R语言语句。 注:使用的程序选项(总处理时间): 实时0.00秒 cpu时间0.00秒 选项集=R_HOME='C:\Program Files\R\R-4.0.2'; proc-iml; x=1:3; /*序列
%put%sysfunc(getoption(encoding))代码>
结果是UTF-8
以下是SAS文档中的示例代码:
proc options=rlang;
运行
RLANG使SAS能够执行R语言语句。
注:使用的程序选项(总处理时间):
实时0.00秒
cpu时间0.00秒
选项集=R_HOME='C:\Program Files\R\R-4.0.2';
proc-iml;
x=1:3;
/*序列1,2,3的向量*/
m={1 2 3,4 5 6,7 8 9};
/*3 x 3矩阵*/
q=m*t(x);
/*矩阵乘法*/
提交/R;
rx我收到了相同的错误消息。R版本4.0.3
与SAS版本9.4
我运行的是windows1
0
使用R版本3.6.3
解决了该问题。包含以下代码以指向R的兼容版本
options set=R_HOME='C:\Program Files\R\R-3.6.3';
RLANG Enables SAS to execute R language statements.
NOTE: PROCEDURE OPTIONS used (Total process time):
real time 0.00 seconds
cpu time 0.00 seconds
option set=R_HOME='C:\Program Files\R\R-4.0.2';
proc iml;
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 */
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
endsubmit;
quit;
options set=R_HOME='C:\Program Files\R\R-3.6.3';