我正在使用调查样本,并试图分析一个子群体。
我试图得到我的人口亚群的连续变量的平均值,中位数,第10百分位数和第90百分位数。
Stata网站http://www.stata.com/support/faqs/statistics/percentiles-for-survey-data/显示了获得中位数/百分位数的方法。
但是,我对子群而不是整个样本感兴趣。 在使用具有子群体选项的复杂调查样本时,您能否向我展示获得任何百分位数的适当命令?
答案 0 :(得分:2)
您可以使用_pctile
获取没有svyset
的子群体的百分位数,因为百分位数仅取决于权重。但是,要获得标准错误和置信区间,您应该下载Stas Kolenikov的epctile
(Stata中的findit epctile
)和 svyset
数据。
net describe epctile, from(http://web.missouri.edu/~kolenikovs/stata)
net install epctile.pkg
自动数据将提供示例,变量weight
是概率权重。
sysuse auto, clear
_pctile price if foreign==0 [pw = weight], p(25 50 75)
return list
scalars:
r(r1) = 4195
r(r2) = 5104
r(r3) = 6486
比较svysetting数据并调用epctile
:
gen strat = rep78
gen mkr = substr(make,1,2)
svyset mkr [pw = weight], strata(strat)
epctile price, percentiles(25 50 75) subpop(if foreign==0) svy
结果:
Percentile estimation
------------------------------------------------------------------------------
| Linearized
price | Coef. Std. Err. z P>|z| [95% Conf. Interval]
p25 | 4195 108.5 38.66 0.000 3982.344 4407.656
p50 | 5104 320.5 15.93 0.000 4475.832 5732.168
p75 | 6486 2093 3.10 0.002 2383.795 10588.2