我有一组变量,比如b1-b30,我需要在相同的变量之间测试相同的条件,如果b1 ='a'或b2 ='a'或b3 ='a'..等等上。 SAS宏中是否有任何解决方案或使用sas数组来执行此任务以避免显式写入此问题。 示例代码如下:
data test;
input d1 d2 d3 d4 d5 ;
cards;
1 2 1 1 0
2 3 1 0 0
0 0 0 1 0
0 2 1 0 2
0 4 0 2 2
0 0 0 0 3
;
run;
data want;
set test;
if d1=1 or d2=1 or d3=1 or d4=1 then flag=1;
else flag=0;
run;
所以我有大约50个变量,以测试相同的条件并标记它。
答案 0 :(得分:2)
您可以使用WHICHN()
或WHICHC()
个功能。
flag1 = not 0=whichn(1,of d1-d4);