我需要一些创建新变量的帮助。我觉得egen
功能是我需要使用的功能,但我无法弄清楚。
我有3个癌症治疗变量 - 放疗,化疗和手术 - 根据每位患者接受每次治疗的次数给出。
我想创建一个新的"治疗"变量,其中1 =放疗,2 =化疗,3 =手术,4 =组合(对于上述3中的任何一种,1或更多),5 =无
答案 0 :(得分:0)
您应该始终显示您尝试过的代码并提供示例数据。有关指导,请参阅https://stackoverflow.com/help/mcve。
假设变量radio
chemo
surgery
的值为0或正数。
gen treatment = 5
replace treatment = 1 if radio & !chemo & !surgery
replace treatment = 2 if chemo & !radio & !surgery
replace treatment = 3 if surgery & !chemo & !radio
replace treatment - 4 if ((surgery > 0) + (radio > 0) + (chemo > 0)) > 1
使用非零的事实为真,其否定是错误的。见this FAQ
另一种方法:
gen treatment = 5
replace treatment = 1 if radio
replace treatment = cond(treatment == 1, 4, 2) if chemo
replace treatment = cond(inlist(treatment, 1, 2), 4, 3) if surgery
在类似的情况下,我会编写你的无类别0,而不是5.这可能会产生更明智的图形和表格。
代码未经测试。