[size=13.333333969116211px]pobel大哥 给了我这个程序:
data test;
y=1000;
array x[200] x1-x200;
do _n_=1 to 200;
x(_n_)=_n_;
end;
run;
data test1;
set test;
array x(200);
array nn(19900) ;
do i=1 to 199;
do j=i+1 to 200;
num+1;
nn(num)=(x(i)-x(j))/(x(i)+x(j));
end;
end;
keep y nn1-nn19900;
run;
data test1;
set test; num=0;
array x(200);
array nn(19900) ;
do i=1 to 199;
do j=i+1 to 200;
num+1;
nn(num)=(x(i)-x(j))/(x(i)+x(j));
end;
end;
keep y nn1-nn19900;
run;
data test1;
set test;
array x(200);
array nn(19900) ;
num=0; *** prepare label;
length code $200;
if _n_=1 then call execute("proc datasets nolist; modify test1; label ");
do i=1 to 199;
do j=i+1 to 200;
num+1; if _n_=1 then do;
_label=cats(i)||" VS "||cats(j);
code=vname(nn(num))||"="||quote(strip(_label));
call execute(code);
end;
nn(num)=(x(i)-x(j))/(x(i)+x(j));
end;
end; if _n_=1 then call execute("; run; quit;");
keep y nn1-nn19900 ;
run;