[軟體程式類別]: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)