作者ckaha (★閃亮數學推理★)
站內Statistics
標題Re: [問題] SAS對不同列進行欄位分析該怎麼做?
時間Sun Jan 19 16:28:49 2014
:
※ 發信站: 批踢踢實業坊(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)
1F:推 sti1nox:恩恩 感謝ckaha前輩! 成功了! 感激萬分! 01/21 18:39