svydesign(ids, probs=NULL, strata = NULL, variables = NULL, fpc=NULL,
data = NULL, nest = FALSE, check.strata = !nest, weights=NULL)
~0
or ~1
is a formula for no clusters.NULL
for no strataNULL
, the data
argument is
used.prob
TRUE
, relabel cluster ids to enforce nesting
within strataTRUE
, check that clusters are nested in stratasurvey.design
.svydesign
object combines a data frame and all the survey
design information needed to analyse it. These objects are used by
the survey modelling and summary functions. The
id
argument is always required, the strata
,
fpc
, weights
and probs
arguments are
optional. If these variables are specified they must not have any
missing values.
By default, svydesign
assumes that all PSUs, even those in
different strata, have a unique value of the id
variable. This allows some data errors to be detected. If your PSUs
reuse the same identifiers across strata then set nest=TRUE
.
The finite population correction (fpc) is used to reduce the variance when
a substantial fraction of the total population of interest has been
sampled. It may not be appropriate if the target of inference is the
process generating the data rather than the statistics of a
particular finite population.
The finite population correction can be specified either as the total
population size in each stratum or as the fraction of the total
population that has been sampled. In either case the relevant
population size is the sampling units. That is, sampling 100 units
from a population stratum of size 500 can be specified as 500 or as
100/500=0.2.
If population sizes are specified but not sampling probabilities or
weights, the sampling probabilities will be computed from the
population sizes assuming simple random sampling within strata.
For multistage sampling the id
argument should specify a
formula with the cluster identifiers at each stage. If subsequent
stages are stratified strata
should also be specified as a
formula with stratum identifiers at each stage. The population size
for each level of sampling should also be specified in fpc
.
If fpc
is not specified then sampling is assumed to be with
replacement at the top level and only the first stage of cluster is
used in computing variances. If fpc
is specified but for fewer
stages than id
, sampling is assumed to be complete for
subsequent stages. The variance calculations for
multistage sampling assume simple or stratified random sampling
within clusters at each stage except possibly the last.
The dim
, "["
, "[<-"
and na.action methods for
survey.design
objects operate on the dataframe specified by
variables
and ensure that the design information is properly
updated to correspond to the new data frame. With the "[<-"
method the new value can be a survey.design
object instead of a
data frame, but only the data frame is used. See also
subset.survey.design
for a simple way to select
subpopulations.The model.frame
method extracts the observed data.
If the strata with one only PSU are not self-representing (or they are,
but svydesign
cannot tell based on fpc
) then the handling
of these strata for variance computation is determined by
options("survey.lonely.psu")
. See svyCprod
for
details.
postStratify
for post-stratification,
as.svrepdesign
for converting to replicate weight designs,
subset.survey.design
for domain estimates,
update.survey.design
to add variables.data(api)
# stratified sample
dstrat<-svydesign(id=~1,strata=~stype, weights=~pw, data=apistrat, fpc=~fpc)
# one-stage cluster sample
dclus1<-svydesign(id=~dnum, weights=~pw, data=apiclus1, fpc=~fpc)
# two-stage cluster sample: weights computed from population sizes.
dclus2<-svydesign(id=~dnum+snum, fpc=~fpc1+fpc2, data=apiclus2)
## multistage sampling has no effect when fpc is not given, so
## these are equivalent.
dclus2wr<-svydesign(id=~dnum+snum, weights=weights(dclus2), data=apiclus2)
dclus2wr2<-svydesign(id=~dnum, weights=weights(dclus2), data=apiclus2)
## syntax for stratified cluster sample
##(though the data weren't really sampled this way)
svydesign(id=~dnum, strata=~stype, weights=~pw, data=apistrat, nest=TRUE)
Run the code above in your browser using DataLab