Re: [程式] SAS家族資料分析
※ 引述《darkstar (darkstarNN  )》之銘言:
: [軟體程式類別]:
: SAS
: [程式問題]:
: 資料處理
: [軟體熟悉度]:
: 高(1年以上)
: [問題敘述]:
: 有一憂鬱症與躁鬱症的家族資料,如下
: Diag 1:憂鬱症 2:躁鬱症
: ID前四碼為家庭代碼(1001為研究中收進的第一個家庭,1002為研究收入第二個家庭
: 前四碼相同為同一家人)
: ID後兩碼為親等關係(20為憂鬱症或躁鬱症個案,11為爸爸,12為媽媽)
: ID Diag
: 100120 1
: 100111
: 100112
: 100220 2
: 100212
: 100221
: 100320 2
: 100420 1
: 100403
: 想要新增一class欄位,將家屬區分為是憂鬱症病人的家屬或躁鬱症病人的家屬,
: 憂鬱症家屬class為3,躁鬱症家屬class為4,希望長的如下
: ID Diag class
: 100120 1
: 100111 3
: 100112 3
: 100220 2
: 100212 4
: 100221 4
: 100320 2
: 100420 1
: 100403 3
: 希望能解救一下>"<,非常感謝!!
: [程式範例]:
: -----------------------------------------------------------------------------
data d1;
input ID $6. Diag;
cards;
100120 1
100111 .
100112 .
100220 2
100212 .
100221 .
100320 2
100420 1
100403 .
;
run;/*新增D1 dataset,Diag為遺漏值的部分要自行補上*/
data d2; set d1; group=substr(ID,4,1); run;
/*截取ID第四碼以判別是否為同一家族*/
data diag; set d2; if diag ne .; run;
data diag; set diag; rename diag=diag2; drop ID; run;
/*新增diag2以判別家屬是屬於憂鬱症或躁鬱症*/
data d3; merge d2 diag; by group; run;
/*將D2與Diag按照家族合併,就可以區別憂鬱症與躁鬱症*/
data d4; set d3;
if diag=. and diag2=1 then class=3;
else if diag=. and diag2=2 then class=4;
else class=.; run;
run;/*用if....then....做分類*/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.231.65.198
→
06/19 16:31, , 1F
06/19 16:31, 1F
推
06/21 01:30, , 2F
06/21 01:30, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):