surveysummary {survey} | R Documentation |
Compute means, variances, ratios and totals for data from complex surveys.
svymean(x, design, na.rm=FALSE,deff=FALSE) svrepmean(x, design, na.rm=FALSE, rho=NULL, return.replicates=FALSE, deff=FALSE) svyvar(x, design, na.rm=FALSE) svrepvar(x, design, na.rm=FALSE, rho=NULL, return.replicates=FALSE) svytotal(x, design, na.rm=FALSE,deff=FALSE) svreptotal(x, design, na.rm=FALSE, rho=NULL, return.replicates=FALSE, deff=FALSE)
x |
A formula, vector or matrix |
design |
survey.design or svyrep.design object |
na.rm |
Should missing values be removed? |
rho |
parameter for Fay's variance estimator in a BRR design |
return.replicates |
Return the replicate means? |
deff |
Return the design effect |
These functions perform weighted estimation, with each observation being weighted by the inverse of its sampling probability. Except for the table functions, these also give precision estimates that incorporate the effects of stratification and clustering.
The svytotal
and svreptotal
functions estimate a
population total. Use predict
on svyratio
,
svrepratio
, svyglm
, svrepglm
to get ratio or regression estimates of totals.
The design effect compares the variance of a mean or total to the variance of a simple random sample of the same size. Although strictly speaking this should be a simple random sample without replacement, we compute as if it were a simple random sample with replacement.
Objects of class "svystat"
or "svrepstat"
,
which are vectors with a "var"
attribute giving the variance
and a "statistic"
attribute giving the name of the statistic.
Thomas Lumley
svydesign
, as.svrepdesign
,
svrepdesign
, svyCprod
, mean
,
var
, svyquantile
data(api) ## population mean(apipop$api00) quantile(apipop$api00,c(.25,.5,.75)) var(apipop$api00) sum(apipop$enroll) sum(apipop$api.stu)/sum(apipop$enroll) ## one-stage cluster sample dclus1<-svydesign(id=~dnum, weights=~pw, data=apiclus1, fpc=~fpc) summary(dclus1) svymean(~api00, dclus1, deff=TRUE) svyquantile(~api00, dclus1, c(.25,.5,.75)) svyvar(~api00, dclus1) svytotal(~enroll, dclus1, deff=TRUE) svyratio(~api.stu, ~enroll, dclus1) #stratified sample dstrat<-svydesign(id=~1, strata=~stype, weights=~pw, data=apistrat, fpc=~fpc) summary(dstrat) svymean(~api00, dstrat) svyquantile(~api00, dstrat, c(.25,.5,.75)) svyvar(~api00, dstrat) svytotal(~enroll, dstrat) svyratio(~api.stu, ~enroll, dstrat) # replicate weights - jackknife (this is slow) jkstrat<-as.svrepdesign(dstrat) summary(jkstrat) svrepmean(~api00, jkstrat) svrepvar(~api00,jkstrat) svrepquantile(~api00, jkstrat, c(.25,.5,.75)) svreptotal(~enroll, jkstrat) svrepratio(~api.stu, ~enroll, jkstrat) # BRR method data(scd) repweights<-2*cbind(c(1,0,1,0,1,0), c(1,0,0,1,0,1), c(0,1,1,0,0,1), c(0,1,0,1,1,0)) scdrep<-svrepdesign(data=scd, type="BRR", repweights=repweights) svrepmean(~arrests+alive, design=scdrep)