Stata 如何为最高四分位数的观测值生成累积变量
我有4个变量Stata 如何为最高四分位数的观测值生成累积变量,stata,Stata,我有4个变量 高度 重量 臂长 腿的长度 我想创建一个变量(new_var),它是一个汇总数字,等于我的观察值落入每个变量的最高四分位数的次数 sysuse auto, clear gen score = 0 quietly foreach v in trunk displacement length weight { su `v', detail noisily di "`v'{col 20}" r(p75) replace score = cond(m
- 高度
- 重量
- 臂长
- 腿的长度
new_var
),它是一个汇总数字,等于我的观察值落入每个变量的最高四分位数的次数
sysuse auto, clear
gen score = 0
quietly foreach v in trunk displacement length weight {
su `v', detail
noisily di "`v'{col 20}" r(p75)
replace score = cond(missing(`v'), ., score + (`v' > r(p75)))
}
tab score
例如,如果您在上述一个(且仅一个)变量中得分最高的四分位,则您在new\u var
中的值将为一。如果你在两个变量中得分最高(第二个和第五个变量是第一个和第二个变量并不重要),那么你在new\u var
中的得分将是2,依此类推。有几种可能的组合
其思想是将参与者得分最高的四分位数的变量数相加,以创建一个汇总数。您可以创建所有名为score的零变量,并在每次观察值位于变量的前四分位数时向其添加1:
sysuse auto, clear
gen score = 0
foreach var of varlist price mpg weight headroom {
xtile q = `var', nq(4)
replace score = score + cond(q==4,1,0)
drop q
}
tab score
您可以创建所有名为score的零变量,并在每次观察值位于变量的前四分位时向其添加1:
sysuse auto, clear
gen score = 0
foreach var of varlist price mpg weight headroom {
xtile q = `var', nq(4)
replace score = score + cond(q==4,1,0)
drop q
}
tab score
如果您只想知道值是否高于上四分位,则可以直接使用
summary
。注意任何变量上缺少的值
sysuse auto, clear
gen score = 0
quietly foreach v in trunk displacement length weight {
su `v', detail
noisily di "`v'{col 20}" r(p75)
replace score = cond(missing(`v'), ., score + (`v' > r(p75)))
}
tab score
如果您只想知道值是否高于上四分位,则可以直接使用
summary
。注意任何变量上缺少的值
sysuse auto, clear
gen score = 0
quietly foreach v in trunk displacement length weight {
su `v', detail
noisily di "`v'{col 20}" r(p75)
replace score = cond(missing(`v'), ., score + (`v' > r(p75)))
}
tab score