Class for controlling the setup of samples using a two-stage procedure.
TwoStageControl(…, fun1 = srs, fun2 = srs, size1 = NULL,
size2 = NULL, prob1 = NULL, prob2 = NULL,
dots1 = list(), dots2 = list())
the slots for the new object (see below).
the function to be used for sampling in the first stage (the
first list component of slot fun
).
the function to be used for sampling in the second stage (the
second list component of slot fun
).
the number of PSUs to sample in the first stage (the first list
component of slot size
).
the number of items to sample in the second stage (the second
list component of slot size
).
the probability weights for the first stage (the first list
component of slot prob
).
the probability weights for the second stage (the second list
component of slot prob
).
additional arguments to be passed to the function for sampling
in the first stage (the first list component of slot dots
).
additional arguments to be passed to the function for sampling
in the second stage (the second list component of slot dots
).
Objects can be created by calls of the form new("TwoStageControl", ...)
or via the constructor TwoStageControl
.
design
:Object of class "BasicVector"
specifying
variables (columns) to be used for stratified sampling in the first
stage.
grouping
:Object of class "BasicVector"
specifying
grouping variables (columns) to be used for sampling primary sampling
units (PSUs) and secondary sampling units (SSUs), respectively.
fun
:Object of class "list"
; a list of length two
containing the functions to be used for sampling in the first and second
stage, respectively (defaults to srs
for both stages). The
functions should return a vector containing the indices of the sampled
items.
size
:Object of class "list"
; a list of length two,
where each component contains an optional non-negative integer giving the
number of items to sample in the first and second stage, respectively.
In case of stratified sampling in the first stage, a vector of
non-negative integers, each giving the number of PSUs to sample from the
corresponding stratum, may be supplied. For the second stage, a vector
of non-negative integers giving the number of items to sample from each
PSU may be used.
prob
:Object of class "list"
; a list of length two,
where each component gives optional probability weights for the first and
second stage, respectively. Each component may thereby be a numerical
vector, or a character string or integer vector specifying a variable
(column) that contains the probability weights.
dots
:Object of class "list"
; a list of length two,
where each component is again a list containing additional arguments to
be passed to the corresponding function for sampling in fun
.
k
:Object of class "numeric"
; a single positive
integer giving the number of samples to be set up.
Class "'>VirtualSampleControl"
, directly.
Class "'>OptSampleControl"
, by class "VirtualSampleControl", distance 2.
In addition to the accessor and mutator methods for the slots inherited from
"'>VirtualSampleControl"
, the following are available:
getDesign
signature(x = "TwoStageControl")
: get slot
design
.
setDesign
signature(x = "TwoStageControl")
: set slot
design
.
getGrouping
signature(x = "TwoStageControl")
: get slot
grouping
.
setGrouping
signature(x = "TwoStageControl")
: set slot
grouping
.
getCollect
signature(x = "TwoStageControl")
: get slot
collect
.
setCollect
signature(x = "TwoStageControl")
: set slot
collect
.
getFun
signature(x = "TwoStageControl")
: get slot
fun
.
setFun
signature(x = "TwoStageControl")
: set slot
fun
.
getSize
signature(x = "TwoStageControl")
: get slot
size
.
setSize
signature(x = "TwoStageControl")
: set slot
size
.
getProb
signature(x = "TwoStageControl")
: get slot
prob
.
setProb
signature(x = "TwoStageControl")
: set slot
prob
.
getDots
signature(x = "TwoStageControl")
: get slot
dots
.
setDots
signature(x = "TwoStageControl")
: set slot
dots
.
In addition to the methods inherited from
"'>VirtualSampleControl"
, the following are available:
clusterSetup
signature(cl = "ANY", x = "data.frame",
control = "TwoStageControl")
: set up multiple samples on a cluster.
setup
signature(x = "data.frame",
control = "TwoStageControl")
: set up multiple samples.
show
signature(object = "TwoStageControl")
: print the
object on the R console.
A slightly simplified UML class diagram of the framework can be found in
Figure 1 of the package vignette An Object-Oriented Framework for
Statistical Simulation: The R Package simFrame
. Use
vignette("simFrame-intro")
to view this vignette.
There are some restrictions on the argument names of the functions for
sampling in fun
. If the sampling method needs population data as
input, the corresponding argument should be called x
and should expect
a data.frame
. If it only needs the population size as input, the
argument should be called N
. Note that the function is not expected
to have both x
and N
as arguments, and that the latter is
typically much faster. Furthermore, if the function has arguments for sample
size and probability weights, they should be called size
and
prob
, respectively. Note that a function with prob
as its only
argument is perfectly valid (for probability proportional to size sampling).
Further arguments may be supplied as a list via the slot dots
.
"'>VirtualSampleControl"
,
"'>SampleControl"
, "'>SampleSetup"
,
setup
, draw
# NOT RUN {
<!-- % TODO: examples for two-stage sampling -->
# }
# NOT RUN {
showClass("TwoStageControl")
# }
Run the code above in your browser using DataLab