如何从svyciprop对象中提取属性值?

FFI*_*FFI 4 r survey confidence-interval

如何从下面的svyciprop对象中提取属性到data.frame:

library(survey)
api <- read.dta(file = "http://www.ats.ucla.edu/stat/stata/library/apipop.dta")
data(api)
dclus1 <- svydesign(id=~dnum, fpc=~fpc, data=apiclus1)
prop.ci <- svyciprop(~I(ell==0), dclus1, method="li")
Run Code Online (Sandbox Code Playgroud)

印花

prop.ci
Run Code Online (Sandbox Code Playgroud)

产量:

> prop.ci

                         2.5% 97.5%
I(ell == 0) 0.021858 0.000664  0.11

str(prop.ci)
> str(prop.ci)
  Class 'svyciprop'  atomic [1:1] 0.0219
    ..- attr(*, "var")= num [1, 1] 0.000512
    .. ..- attr(*, "dimnames")=List of 2
    .. .. ..$ : chr "as.numeric(I(ell == 0))"
    .. .. ..$ : chr "as.numeric(I(ell == 0))"
    ..- attr(*, "ci")= Named num [1:2] 0.000664 0.107778
    .. ..- attr(*, "names")= chr [1:2] "2.5%" "97.5%"
Run Code Online (Sandbox Code Playgroud)

Sve*_*ein 5

您可以使用以下命令从对象中提取比例和置信区间prop.ci:

# the proportion
as.vector(prop.ci)
# [1] 0.02185792

# the confidence interval
attr(prop.ci, "ci")
#         2.5%        97.5% 
# 0.0006639212 0.1077784084 
Run Code Online (Sandbox Code Playgroud)

如果要分别访问置信区间的值,可以使用向量索引:

ci <- attr(prop.ci, "ci")
ci[1]
#         2.5% 
# 0.0006639212 
ci[2]
#     97.5% 
# 0.1077784 
Run Code Online (Sandbox Code Playgroud)