Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用当前数据集中的3个变量在Stata中创建一个新的分类变量_Stata - Fatal编程技术网

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

使用当前数据集中的3个变量在Stata中创建一个新的分类变量,stata,Stata,我需要一些关于创建新变量的帮助。我觉得我需要使用的是egen函数,但我想不出来 我有3个癌症治疗变量——放疗、化疗和手术——每个患者接受治疗的次数 我想创建一个新的“治疗”变量,其中1=放疗,2=化疗,3=手术,4=组合(上述3种情况中的任何一种都有1种或更多),5=无。您应该始终显示您尝试过的代码并给出示例数据。请参阅以获取指导 假设变量无线电化疗手术的值为0或正值 gen treatment = 5 replace treatment = 1 if radio & !chemo &

我需要一些关于创建新变量的帮助。我觉得我需要使用的是
egen
函数,但我想不出来

我有3个癌症治疗变量——放疗、化疗和手术——每个患者接受治疗的次数


我想创建一个新的“治疗”变量,其中1=放疗,2=化疗,3=手术,4=组合(上述3种情况中的任何一种都有1种或更多),5=无。您应该始终显示您尝试过的代码并给出示例数据。请参阅以获取指导

假设变量
无线电
化疗
手术
的值为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 
在类似的情况下,我会将您的none类别编码为0,而不是5。这可能会产生更合理的图表

未测试的代码