我有 11个预测变量x1-x11,一个真实值变量在rt2中,存放在一个数据集raw1中
新建一个数据集test1,把raw1中的x1-x11放在一个数组x{*}中,
我要计算预测误差e1-e11, 比如说e1=rt2-x1
然后计算预测误差的平方 ee1-ee11, 比如说ee1=e1*e1
我建立的宏程序如下:
- %macro predata(newdata,rawdata);
- data &newdata;
- set &rawdata;
- array x{*} x1-x11;
- array e{*} e1-e11;
- array ee{*} ee1-ee11;
- %do i=1 %to 11;
- e[&i]=%sysevalf(x[&i]-rt2);
- ee[&i]=%sysevalf(e[&i]*e[&i]);
- %end;
- proc print data=&newdata;
- run;
- %mend predata;
- %predata(test1,raw1);
- data test1;
- set raw1;
- array x{*} x1-x11;
- array e{*} e1-e11;
- array ee{*} ee1-ee11;
- do i=1 to 11;
- e[i]=x[i]-rt2;
- ee[i]=e[i]*e[i];
- end;
- proc print data=test1;
- run;



雷达卡





~~
京公网安备 11010802022788号







