Использовать xtile по годам с использованием весов

У меня есть данные с переменной дохода, с весом, и я хочу рассчитать 5% квантилей по годам. Есть способ сделать это?

Для веса я могу использовать обычные xtile:

xtile quan = salary [aw=weight], n(20)

И в течение многих лет я могу использовать xtile от egenmore:

egen quan = xtile(salary), by(year) nq(20)

Но как я могу сделать это для веса и год вместе?

1 ответ

Решение

E сть weights() вариант, как указано в help egenmore:

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)

В ado-файле для egen"s xtile Функция, вы можете проверить, как установлены веса:

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

Увидеть viewsource _gxtile.ado,

Другие вопросы по тегам