| 
 | 
楼主
 
 
 楼主 |
发表于 2004-4-10 22:56:12
|
只看该作者
 
 
 
利用宏生成新变量
[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] |   
 
 
 
 |