[軟體程式類別]SAS
[程式問題]: 想將各變數的值放在同一變數裡
[軟體熟悉度]: 中
[問題敘述]:
不好意思,想請問一下,我有一組Data如下:
Item A B
A N
A Y
B missing
B N
B Y
現在我想新增一欄變數U,將AB整合在一起變成如下:
Item A B U
A N
N
A Y
Y
B missing
missing
B N
N
B Y
Y
[程式範例]:
不曉得該怎麼做比較好? 我目前想到的是用Macro的方法,
但跑出來的結果都不是我想要的,Code如下
Data D2;
set D1;
Call symput('AB' , Item);
U = symget('AB');
Run;
這樣跑出來的結果是
Item A B U
A N
A
A Y
A
B missing
B
B N
B
B Y
B
謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.76.175.169
※ 文章網址: http://webptt.com/m.aspx?n=bbs/Statistics/M.1405666495.A.66F.html
1F:推 west1996:會不會AB兩個欄位同時都有值? 07/18 14:58
2F:→ edsmom:謝謝樓上網友。不會,AB兩欄一定只會其中一欄有值 07/18 15:01
3F:→ edsmom:然後因為其實我ABCDE...總共有56欄變數(但每一列一定只有一 07/18 15:01
4F:→ edsmom:欄有值),所以沒法簡單地用If..then來處理 07/18 15:02
※ 編輯: edsmom (211.76.175.169), 07/18/2014 15:14:07
5F:推 imaltar:所以實際是將ABCDE有值的整在U? 07/18 21:51
6F:推 west1996:那這樣故事就很簡單了,請google一個函數叫coalescec 07/18 23:55
7F:→ west1996:他可以回傳一串變數中第一個非遺漏值 07/18 23:56
8F:→ edsmom:謝謝West1996和imaltar 。原來用簡單的方式就可以處理了, 07/21 09:13
9F:→ edsmom:我還傻傻地用巨集搞半天也沒成功,真的非常謝謝你們~ 07/21 09:14