何必不淡定。 发表于 2015-6-6 10:40
hope this will help you well.
这是内置的transpose的算法么?谢大哥!
我自己后来琢磨了下,用data也谢了出来,代码如下:
data quan1;
input name $ a b;
cards;
x 2 4
x 3 2
x 4 4
y 5 1
y 6 2
y 7 1
run;
data quan2(keep=name _name_ new_var);
set quan1;
array v a--b;
do over v;
_name_=vname(v);
new_var=v;
output;
end;
run;
proc sort data=quan2 out=quan3;
by _name_;
run;
data quan4;
array col[3] col1-col3;
do i=1 to 3;
set quan3;
col(i)=new_var;
end;
keep name _name_ col1-col3 ;
run;
但我现在想衍生一下,如果数据是这样:
name a b
x 2 4
x 3 2
x 4 4
x 1 2
y 5 1
y 6 2
y 7 1
然后用data把他转置成:
name _name_ col1 col2 col3 col4
x a 2 3 4 1
x b 4 2 4 2
y a 5 6 7 .
y b 1 2 1 .
不知道该怎么写。。。求教!谢谢