使用具有置信区间的 pweight 并存储在矩阵中
Use pweight with confidence intervals and store in a matrix
我正在计算调查数据的很多均值,我必须在其中使用比例权重。
不幸的是,weights
不允许与命令 ci
一起使用。我可以使用 mean
命令,但我需要存储结果,因此我随后可以将它们放入矩阵中。
我的循环代码如下所示:
local i = 1
foreach var of varlist hinst1 - hinst34 {
ci varname if `var'==1
mat matname[`i',1]=r(mean)
mat matname[`i',1]=r(lb)
mat matname[`i',1]=r(ub)
local ++i
}
可以使用 aweights
但我需要 pweights
。
以 Stata 的 nhanes2f
玩具数据集为例:
webuse nhanes2f, clear
svyset psuid [pweight=finalwgt], strata(stratid)
svy
前缀可以如下使用:
matrix A = J(3,3,.)
local i = 1
foreach var of varlist sex race region {
svy: mean age if `var'==1
matrix res = r(table)
matrix A[1,`i'] = res[1, 1]
matrix A[2,`i'] = res[5, 1]
matrix A[3,`i'] = res[6, 1]
local ++i
}
matrix list A
A[3,3]
c1 c2 c3
r1 41.898222 42.508557 43.133186
r2 41.206209 41.852839 42.034576
r3 42.590235 43.164274 44.231796
我正在计算调查数据的很多均值,我必须在其中使用比例权重。
不幸的是,weights
不允许与命令 ci
一起使用。我可以使用 mean
命令,但我需要存储结果,因此我随后可以将它们放入矩阵中。
我的循环代码如下所示:
local i = 1
foreach var of varlist hinst1 - hinst34 {
ci varname if `var'==1
mat matname[`i',1]=r(mean)
mat matname[`i',1]=r(lb)
mat matname[`i',1]=r(ub)
local ++i
}
可以使用 aweights
但我需要 pweights
。
以 Stata 的 nhanes2f
玩具数据集为例:
webuse nhanes2f, clear
svyset psuid [pweight=finalwgt], strata(stratid)
svy
前缀可以如下使用:
matrix A = J(3,3,.)
local i = 1
foreach var of varlist sex race region {
svy: mean age if `var'==1
matrix res = r(table)
matrix A[1,`i'] = res[1, 1]
matrix A[2,`i'] = res[5, 1]
matrix A[3,`i'] = res[6, 1]
local ++i
}
matrix list A
A[3,3]
c1 c2 c3
r1 41.898222 42.508557 43.133186
r2 41.206209 41.852839 42.034576
r3 42.590235 43.164274 44.231796