Stata 使用权重按年份使用xtile

Stata 使用权重按年份使用xtile,stata,Stata,我有收入变量和权重的数据,我想每年计算5%的分位数。 有办法吗 对于重量,我可以使用常规xtile: xtile quan = salary [aw=weight], n(20) 多年来,我可以使用egenmore中的xtile: egen quan = xtile(salary), by(year) nq(20) clear set more off sysuse auto keep mpg foreign weight // egenmore egen mpg4 = xtile(mp

我有收入变量和权重的数据,我想每年计算5%的分位数。 有办法吗

对于重量,我可以使用常规
xtile

xtile quan = salary [aw=weight], n(20)
多年来,我可以使用
egenmore
中的
xtile

egen quan = xtile(salary), by(year) nq(20)
clear
set more off

sysuse auto
keep mpg foreign weight

// egenmore
egen mpg4 = xtile(mpg), by(foreign) nq(4) weights(weight)

// compare with xtile
xtile mpg4_1 = mpg [aweight=weight] if foreign, nq(4)
xtile mpg4_2= mpg [aweight=weight] if !foreign, nq(4)
egen mpg42 = rowtotal(mpg4_1 mpg4_2)

assert mpg4 == mpg42

sort foreign mpg weight
list, sepby(foreign)
但是我如何才能同时对权重和按年份进行计算呢?

有一个
weights()
选项,如
help egenmore
中所述:

egen quan = xtile(salary), by(year) nq(20)
clear
set more off

sysuse auto
keep mpg foreign weight

// egenmore
egen mpg4 = xtile(mpg), by(foreign) nq(4) weights(weight)

// compare with xtile
xtile mpg4_1 = mpg [aweight=weight] if foreign, nq(4)
xtile mpg4_2= mpg [aweight=weight] if !foreign, nq(4)
egen mpg42 = rowtotal(mpg4_1 mpg4_2)

assert mpg4 == mpg42

sort foreign mpg weight
list, sepby(foreign)
egen
xtile
函数的ado文件中,可以检查权重的设置方式:

if "`weights'" ~= "" {
        local weight "[aw = `weights']"
}

请参阅
viewsource\u gxtile.ado

我错过了它-非常感谢!