使用当前数据集中的3个变量在Stata中创建一个新的分类变量



我需要一些帮助来创建新变量。我觉得egen功能是我需要使用的功能,但我无法弄清楚。

我有3个用于癌症治疗的变量 - 放疗,化学疗法和手术 - 每个患者接受每种治疗的次数。

我想创建一个新的"治疗"变量,其中1 =放射疗法,2 =化学疗法,3 =手术,4 =组合(以上任何一个3),5 =无

您应该始终显示您尝试过的代码并提供示例数据。有关指导,请参见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 

使用非零是真实的事实,其否定是错误的。查看此常见问题解答

另一种方法:

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。这可能会产生更明智的图和表。

未测试的代码。

最新更新