data a;
do i=1 to 1000;
x=rand('normal',0,1);
y=rand('normal',0,1);
n=mod(i,2);
output;
end;
run;
data a1;
set a;
if n=1;
keep x y;
rename x=x1 y=y1;
run;
data a2;
set a;
if n=0;
keep x y;
rename x=x2 y=y2;
run;
data a3;
merge a1 a2;
x3=x1+x2;
y3=y1+y2;
run;
是这样吗
proc means data=a3 noprint;
var y3;
output out=c(keep=mean std) mean=mean std=std;
run;
data a4;
set a3;
if _n_=1 then set c;
run;
data a4;
set a4;
std_y3=(y3-mean)/std;
run;
data a1 a2;
set a;
if mod(_n_,2) then output a1;
else output a2;
run;
data a3;
merge a1 a2(rename=(x=x1 y=y1));
x=x+x1;
y=y+y1;
drop x1 y1;
run;
proc stdize data=a3 out=a4 method=std ;
var y;
run;