SAS中文论坛
标题:
利用宏生成新变量
[打印本页]
作者:
shiyiming
时间:
2004-4-10 22:56
标题:
利用宏生成新变量
[size=100:53901]现有两数据集x1,x2, 其中x1中有变量cov2_sum, cov3_sum,.....,cov90_sum等,x2中有变量rv2,rv3,......,rv90等. 现在要生成一新的变量corr2,corr3,......,corr90, 计算规则如:corr2=cov2_sum/rv2,其它的类似.
借用zibao在删除变量一贴中的思路,
%macro corrvar;
%do i=1 %to 9;
%do j=1 %to 10;
%if &i.<&j. %then
corr%eval(10*(&i.-1)+&j.)=cov%eval(10*(&i.-1)+&j.)_sum/rv%eval(10*(&i.-1)+&j.));
%end;
%end;
%mend corrvar;
data corr1;
merge x1 x2;
by y m d ;
%corrvar;
run;
log窗口提示出错:Line generated by the macro function "J"
请问有何办法解决?[/size:53901]
作者:
shiyiming
时间:
2004-4-11 19:51
标题:
可以了!
适当修改就可以了!
%macro corrvar;
%do i=1 %to 9;
%do j=1 %to 10;
%if &i.<&j. %then %do;
corr%eval(10*(&i.-1)+&j.)=cov%eval(10*(&i.-1)+&j.)_sum/rv%eval(10*(&i.-1)+&j.));
%end;
%end;
%end;
%mend corrvar;
data corr1;
merge x1 x2;
by y m d ;
%corrvar;
run;
欢迎光临 SAS中文论坛 (http://mysas.net/forum/)
Powered by Discuz! X3.2