Stata:将具有最大值的变量名称另存为字符串
我在同一行中有几个变量:x1x2x3x4 使用egen和rowmax函数,我创建了一个新变量,其中包含具有最高值的x*值: egen max_x=行最大值(x1 x2 x3 x4)Stata:将具有最大值的变量名称另存为字符串,stata,Stata,我在同一行中有几个变量:x1x2x3x4 使用egen和rowmax函数,我创建了一个新变量,其中包含具有最高值的x*值: egen max_x=行最大值(x1 x2 x3 x4) 但是,我不想保存最大值,而是想将包含最大值的变量的名称保存为字符串。我怎样才能做到这一点呢?可能只有一个命令可以做到这一点,但这里有一种方法 // generate some test data set obs 10 forvalues i=1/4 { gen float x`i' = runiform()
但是,我不想保存最大值,而是想将包含最大值的变量的名称保存为字符串。我怎样才能做到这一点呢?可能只有一个命令可以做到这一点,但这里有一种方法
// generate some test data
set obs 10
forvalues i=1/4 {
gen float x`i' = runiform()
}
tempvar valmax argmax
gen `valmax' = x1
gen `argmax' = "x1"
foreach v of varlist x2-x4 {
// does value beat the current highest value?
replace `argmax' = "`v'" if `v' > `valmax' & !mi(`v')
replace `valmax' = max(`valmax', `v')
}
list
您还应该考虑如何处理关系和缺失值。