data a;
input col1 $ col2 $ col3 $;
cards;
a b c
c d e
a b f
a b f
;
虽然只有三列,但是a对应durg1, b 对应drug2, c 对应drug3,以此类推,最后想要知道里面共有几种不同的drug,各是什么
也就是下面数据样式
col1 | col2 | col3 | d1 | d2 | d3 | d4 | d5 | d6 | d7 |
a | b | c | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
a | b | f | 1 | 1 | 0 | 0 | 0 | 1 | 0 |
b | f | g | 0 | 1 | 0 | 0 | 0 | 1 | 1 |
c | d | e | 0 | 0 | 1 | 1 | 1 | 0 | 0 |
我觉得是用array来做,但是
data a;
input col1 $ col2 $ col3 $;
cards;
a b c
c d e
a b f
a b f
;
data b;
set a;
array temp col1-col3;
DO I = 1 TO 3;
d1=ifn(temp[I]='a',1,0);
d2=ifn(temp[I]='b',1,0);
d3=ifn(temp[I]='c',1,0);
d4=ifn(temp[I]='d',1,0);
d5=ifn(temp[I]='e',1,0);
d6=ifn(temp[I]='f',1,0);
d7=ifn(temp[I]='g',1,0);
end;
run;
这样却只有记录下最后一步col3的情况,不知道应该如何改动啊,多谢多谢