
postStratify(design, strata, population, partial = FALSE, ...)
## S3 method for class 'svyrep.design':
postStratify(design, strata, population, partial = FALSE, compress=NULL,...)
## S3 method for class 'survey.design':
postStratify(design, strata, population, partial = FALSE, ...)
TRUE
, ignore population strata not present in
the sampleNULL
will attempt to compress if the original weight matrix
was compressedpopulation
totals can be specified as a table with the
strata variables in the margins, or as a data frame where one column
lists frequencies and the other columns list the unique combinations
of strata variables (the format produced by as.data.frame
acting on a table
object). A table must have named dimnames
to indicate the variable names.
Compressing the replicate weights will take time and may even
increase memory use if there is actually little redundancy in the
weight matrix (in particular if the post-stratification variables have
many values and cut across PSUs).
The method for survey.design
objects should be used only in
fairly large samples as the resulting standard errors use a
simple first-order approximation.as.svrepdesign
, svrepdesign
,
rake
, compressWeights
data(api)
dclus1<-svydesign(id=~dnum, weights=~pw, data=apiclus1, fpc=~fpc)
rclus1<-as.svrepdesign(dclus1)
svrepmean(~api00, rclus1)
svreptotal(~enroll, rclus1)
# post-stratify on school type
pop.types <- data.frame(stype=c("E","H","M"), Freq=c(4421,755,1018))
#or: pop.types <- xtabs(~stype, data=apipop)
#or: pop.types <- table(stype=apipop$stype)
rclus1p<-postStratify(rclus1, ~stype, pop.types)
summary(rclus1p)
svrepmean(~api00, rclus1p)
svreptotal(~enroll, rclus1p)
## and for svydesign objects
dclus1p<-postStratify(dclus1, ~stype, pop.types)
summary(dclus1p)
svymean(~api00, dclus1p)
svytotal(~enroll, dclus1p)
Run the code above in your browser using DataLab