[软体程式类别]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/cn.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