如果任何其他变量等于某组值的任何一个,则创建新变量

时间:2016-06-03 20:52:59

标签: stata

我想创建一个名为antidepressant的新变量。我有一份被认为是抗抑郁药的药物代码清单,但是对于每个患者,这些药物代码可能会出现在整个数据集中的多个变量中(因为患者可能同时使用多种药物)。如果数据集中的任何变量(跨行)等于任何这些药物代码(例如123,453,859,205),我想使抗抑郁剂= 1。我知道我应该为药品代码制作一个 numlist ,但我不知道如何做其余的...

1 个答案:

答案 0 :(得分:1)

根据您的实际变量名称,可能会提供任意数量的不同解决方案,但没有任何信息......

gen antidepressant = 0 

quietly foreach v in x1 x2 x3 x4 x5 { 
    replace antidepressant = 1 if inlist(`v', 123, 453, 859, 205) 
} 

有关相关技术的评论,请参阅this paper