SAS中文论坛

标题: 请教数据集处理问题 [打印本页]

作者: shiyiming    时间: 2006-4-28 09:23
标题: 请教数据集处理问题
origin:
001 A a11 a12 b11 b12 e11 e12
002 B c11 c12 f11 f12
003 B d11 d12
004 A g11 g12

wanted:
001 A a11 a12
001 A b11 b12
001 A e11 e12
002 B c11 c12
002 B f11 f12
003 B d11 d12
004 A g11 g12

不知能否有通用的解决办法?


比如记录某项反应,现在预留5次记录表格:

大家都至少有一次反应,但是有些人可能有多次反应


[color=red:21155][b:21155][size=150:21155]谢谢![/size:21155][/b:21155][/color:21155]
作者: shiyiming    时间: 2006-4-28 22:03
标题: RE
data new(keep=id grp item1 item2);
infile cards missover;
input id $ grp $ e1 $ e2 $ e3 $ e4 $ e5 $ e6 $ ;
array e{3,2} e1--e6;
array itm(2) $3. item1 item2;
do i=1 to 3;
do j=1 to 2;
itm(j)= e{i,j};
if itm(j)='' then goto skip;
end;
output;
end;
skip:;
cards;
001 A a11 a12 b11 b12 e11 e12
002 B c11 c12 f11 f12
003 B d11 d12
004 A g11 g12
;
run;
作者: shiyiming    时间: 2006-4-29 22:20
标题: reply
[code:74e9c]
data hua;
infile cards missover;
input code$ name$ re1$ re2$ @;
   do while (re1 ne "");
       output;
           input re1$ re2$ @;
   end;
cards;
001 A a11 a12 b11 b12 e11 e12
002 B c11 c12 f11 f12
003 B d11 d12
004 A g11 g12
;
run;
proc print;run;[/code:74e9c]




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2