SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 805|回复: 2
打印 上一主题 下一主题

请教数据集处理问题

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2006-4-28 09:23:31 | 只看该作者

请教数据集处理问题

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]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2006-4-28 22:03:52 | 只看该作者

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;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2006-4-29 22:20:39 | 只看该作者

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]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-6-10 03:52 , Processed in 0.086094 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表