Re: [程式] SAS對不同列進行欄位分析該怎麼做?

看板Statistics作者 (★閃亮數學推理★)時間10年前 (2014/01/19 16:28), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
: ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 1.163.167.227 : ※ 編輯: ckaha 來自: 1.163.167.227 (01/18 18:44) : 推 sti1nox:噢噢感謝ckaha大大! 只是我還有個小疑問,倘若我想定義如 01/18 21:36 : → sti1nox:有A及B的人為group=1 有A及C的人為group=2 有B及C的人則為 01/18 21:38 : → sti1nox:group=3 也就是說其group是有意義的,而後面的其他筆紀錄 01/18 21:39 : → sti1nox:也希望可以繼續按照此組合來定義group,大致如此,很謝謝您! 01/18 21:40 在Step2修改 data C; set B; if A=1 and B=1 then group =1; else if A=1 and C=1 then group =2; else if B=1 and D=1 then group =3; run; 複雜一點可以自己定 e.g., A,B,C,D,E,....Z PS:這個用二進位表示group 可以很快速知道是哪個位置有值 或者用文字直接記錄這樣比較快 data C; set B; array NUM{*} _numeric_; /*前三個不要因為是col1-3*/ group = 0; do i=4 to dim(NUM); group = group*2 + NUM[i]; end; run; 法二 data C; length group $2.; set B; array NUM{*} _numeric_; group=''; do i=4 to dim(NUM); if NUM[i] eq 1 then do; group = cat(group,vname(NUM[i]); end; end; run; 以上 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.163.167.227 ※ 編輯: ckaha 來自: 1.163.167.227 (01/19 16:33)

01/21 18:39, , 1F
恩恩 感謝ckaha前輩! 成功了! 感激萬分!
01/21 18:39, 1F
文章代碼(AID): #1Isup41l (Statistics)
文章代碼(AID): #1Isup41l (Statistics)