Re: [程式] SAS家族資料分析

看板Statistics作者 (捲)時間11年前 (2013/06/19 16:30), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《darkstar (darkstar￾N￾N￾  ￾)》之銘言: : [軟體程式類別]: : 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
最後的部分多打了一次run; 請自行忽略囉
06/19 16:31, 1F

06/21 01:30, , 2F
非常非常感激您!!!!
06/21 01:30, 2F
文章代碼(AID): #1HmMmns- (Statistics)
文章代碼(AID): #1HmMmns- (Statistics)