如题。
我希望如下一个运算:(其实是系数代入线性方程求结果并存值的运算)
矩阵q 是4x101的;
数据集Compare中变量为a1-a100,T1,T2,T3,T4;
这样,q*【(1 a1 a2 ... a100)的转置】是一个4x1的向量。
希望将这个4x1向量存在T1-T4中。
请问怎样将结果存到数据集中?
目前的方法如下(有缺失);
proc iml;
use tmp;/*从tmp中取矩阵q,这一小段没有问题*/
setin tmp;
read all into q;
close tmp;
q[loc(q=.)]=0;/*将矩阵中的缺失值重赋值为0*/
print q;
edit compare;/*这一段希望计算并将结果存入T1-T4,目前是完全无法运行的。*/
i=1;
do data; /*这里希望做一个循环,计算并存值,但是目前计算实现了,存值无法实现*/
read next var('a1':'a100') into a; /*取当前观测值中的a1-a100存入向量a*/
b=1||a;/*b=(1,a)*/
c=b*q`;/*这个就是计算的结果,是个1x4的矩阵*/
setout compare var('T1'-'T4') point i;/*我不是很懂SETOUT的语法,这里这个是无法运行的*/
i +1;
end;
close compare;
run;