[code:1lgzfsy5]data a;
input id visit var1$ var2$ value;
cards;
1 1 x x1 5
1 1 y y1 6
1 2 x x2 7
1 2 y y2 8
2 1 x x1 9
2 1 y y1 10
2 2 x x2 11
2 2 y y2 12
;
proc sort data=a;
by id var2;
run;
/*方法一*/
data b;
do i=1 to 4;
set a(keep=id var2 value);
array t[1:4] x1 x2 y1 y2;
t(i)=value;
end;
drop i var2 value;
run;
/*方法二*/
proc transpose data=a out=c;
var value;
by id;
id var2;
run;[/code:1lgzfsy5]