假设有以下数据集
data DB;
input ID :$20. morbidity;
cards;
0001 1
0001 1
0001 0
0001 2
0002 2
0002 0
0002 2;
run;
有没有办法获得以下内容?
data DB1;
input ID :$20. morbidity;
cards;
0001 1
0001 1
0001 0
0001 0
0002 2
0002 0
0002 2;
run;
换句话说,如果患者至少有一次发病率 = 1,则其余时间发病率 = 2,它应该变为 0。
先感谢您。
最好的
一个简单的方法是使用哈希表查找所有发病率为 1 的 ID。如果表中 ID 的值与哈希表中 ID 的值匹配,且发病率为 2,则将其设置为 0。换句话说,如果我们与此查找表中的 ID 有任何匹配,则该查找表仅包含至少具有一个值的 ID
morbidity = 1
:然后我们知道,在某个时刻,我们正在读取的表中的 ID 的发病率 = 1。
set
由于我们已经找到了匹配项,我们可以检查发病率的值是否为 2。如果是,则将其设置为 0。