| svyby {survey} | R Documentation |
Compute survey statistics on subsets of a survey defined by factors.
svyby(formula, by ,design,...)
## Default S3 method:
svyby(formula, by, design, FUN, ..., deff=FALSE,keep.var = TRUE,
keep.names = TRUE,verbose=FALSE, vartype=c("se","ci","ci","cv","cvpct","var"),
drop.empty.groups=TRUE, covmat=FALSE, return.replicates=FALSE, multicore=getOption("survey.multicore"))
## S3 method for class 'svyby':
SE(object,...)
## S3 method for class 'svyby':
deff(object,...)
## S3 method for class 'svyby':
coef(object,...)
unwtd.count(x, design, ...)
formula,x |
A formula specifying the variables to pass to
FUN (or a matrix, data frame, or vector) |
by |
A formula specifying factors that define subsets, or a list of factors. |
design |
A svydesign or svrepdesign object |
FUN |
A function taking a formula and survey design object as its first two arguments. |
... |
Other arguments to FUN |
deff |
Request a design effect from FUN |
keep.var |
If FUN returns a svystat object, extract
standard errors from it |
keep.names |
Define row names based on the subsets |
verbose |
If TRUE, print a label for each subset as it is
processed. |
vartype |
Report variability as one or more of standard error, confidence interval, coefficient of variation, percent coefficient of variation, or variance |
drop.empty.groups |
If FALSE, report NA for empty
groups, if TRUE drop them from the output |
covmat |
If TRUE, compute covariances between estimates for
different subsets (currently only for replicate-weight
designs). Allows svycontrast to be used on output. |
return.replicates |
Only for replicate-weight designs. If
TRUE, return all the replicates as an attribute of the result |
multicore |
Use multicore package to distribute subsets over
multiple processors? |
object |
An object of class "svyby" |
The variance type "ci" asks for confidence intervals, which are produced
by confint. In some cases additional options to FUN will
be needed to produce confidence intervals, for example,
svyquantile needs ci=TRUE
unwtd.count is designed to be passed to svyby to report
the number of non-missing observations in each subset. Observations
with exactly zero weight will also be counted as missing, since that's
how subsets are implemented for some designs.
Parallel processing with multicore=TRUE is useful only for
fairly large problems and on computers with sufficient memory. The
multicore package is incompatible with some GUIs, although the
Mac Aqua GUI appears to be safe.
An object of class "svyby": a data frame showing the factors and the results of FUN.
For unwtd.count, the unweighted number of non-missing observations in the data matrix specified by x for the design.
Asking for a design effect (deff=TRUE) from a function
that does not produce one will cause an error or incorrect formatting
of the output. The same will occur with keep.var=TRUE if the
function does not compute a standard error.
svytable and ftable.svystat for
contingency tables, ftable.svyby for pretty-printing of svyby
data(api)
dclus1<-svydesign(id=~dnum, weights=~pw, data=apiclus1, fpc=~fpc)
svyby(~api99, ~stype, dclus1, svymean)
svyby(~api99, ~stype, dclus1, svyquantile, quantiles=0.5,ci=TRUE,vartype="ci")
## without ci=TRUE svyquantile does not compute standard errors
svyby(~api99, ~stype, dclus1, svyquantile, quantiles=0.5, keep.var=FALSE)
svyby(~api99, list(school.type=apiclus1$stype), dclus1, svymean)
svyby(~api99+api00, ~stype, dclus1, svymean, deff=TRUE,vartype="ci")
svyby(~api99+api00, ~stype+sch.wide, dclus1, svymean, keep.var=FALSE)
## report raw number of observations
svyby(~api99+api00, ~stype+sch.wide, dclus1, unwtd.count, keep.var=FALSE)
rclus1<-as.svrepdesign(dclus1)
svyby(~api99, ~stype, rclus1, svymean)
svyby(~api99, ~stype, rclus1, svyquantile, quantiles=0.5)
svyby(~api99, list(school.type=apiclus1$stype), rclus1, svymean, vartype="cv")
svyby(~enroll,~stype, rclus1,svytotal, deff=TRUE)
svyby(~api99+api00, ~stype+sch.wide, rclus1, svymean, keep.var=FALSE)
##report raw number of observations
svyby(~api99+api00, ~stype+sch.wide, rclus1, unwtd.count, keep.var=FALSE)
## comparing subgroups using covmat=TRUE
mns<-svyby(~api99, ~stype, rclus1, svymean,covmat=TRUE)
vcov(mns)
svycontrast(mns, c(E = 1, M = -1))
str(svyby(~api99, ~stype, rclus1, svymean,return.replicates=TRUE))
## extractor functions
(a<-svyby(~enroll, ~stype, rclus1, svytotal, deff=TRUE, verbose=TRUE, vartype=c("se","cv","cvpct","var")))
deff(a)
SE(a)
cv(a)
coef(a)
## ratio estimates
svyby(~api.stu, by=~stype, denominator=~enroll, design=dclus1, svyratio)
## empty groups
svyby(~api00,~comp.imp+sch.wide,design=dclus1,svymean)
svyby(~api00,~comp.imp+sch.wide,design=dclus1,svymean,drop.empty.groups=FALSE)