作者wlsherica (CrevetteStudio)
看板Statistics
标题[程式] SAS 合并资料
时间Mon Aug 30 13:32:18 2010
[软体程式类别]:SAS
[程式问题]:资料处理
[软体熟悉度]:高(1年以上)
[问题叙述]:
原始档案 欲合并成为...
id var1 var2 dz1 dz2 dz3 dz4 id var1 var2 dz1 dz2 dz3 dz4
1 100 -10 1 . . . 1 100 -10 1 1 1 .
1 100 -10 . 1 . . 4 400 -40 . . . .
1 100 -10 . . 1 . 5 500 -50 1 . . 1
4 400 -40 . . . .
5 500 -50 1 . . .
5 500 -50 . . . 1
目的是把资料缩减成像右手边的表格
每个ID是登记是否有这四个疾病(dz1-dz4),若有则1、反之则「.」
最後每个ID只会有一笔资料
刚刚尝试使用array,没有成功...
因此想请教各位前辈~ 非常感谢!
-----------------------------------------------------------------------------
在收到i大的程式以及同事提供的灵感, 以下的程式提供参考:
data one;
input id var1 var2 dz1 dz2 dz3 dz4;
cards;
1 100 -10 1 0 0 0
1 100 -10 0 1 0 0
1 100 -10 0 0 1 0
4 400 -40 0 0 0 1
5 500 -50 1 0 0 0
5 500 -50 0 0 0 1
;
run;
proc sort data=one; by id; run;
data one_o;
set one;
retain dx1-dx4;
by id;
if first.id then do;
dx1=0; dx2=0; dx3=0; dx4=0;
end;
dx1+dz1;
dx2+dz2;
dx3+dz3;
dx4+dz4;
put _all_;
if last.id;
run;
谢谢各位提供的帮忙
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.25.110.97
※ 编辑: wlsherica 来自: 163.25.110.97 (08/30 15:30)