使用subpop选项时COMPLEX SURVEY DATA的百分位数

时间:2015-02-12 02:56:46

标签: stata

我正在使用调查样本,并试图分析一个子群体。

我试图得到我的人口亚群的连续变量的平均值,中位数,第10百分位数和第90百分位数。

Stata网站http://www.stata.com/support/faqs/statistics/percentiles-for-survey-data/显示了获得中位数/百分位数的方法。

但是,我对子群而不是整个样本感兴趣。 在使用具有子群体选项的复杂调查样本时,您能否向我展示获得任何百分位数的适当命令?

1 个答案:

答案 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