Learn R Programming

simFrame (version 0.1.2)

simSample: Set up multiple samples

Description

A convenience wrapper for setting up multiple samples using setup with control class SampleControl.

Usage

simSample(x, design = character(), group = character(), 
          method = srs, size = NULL, prob = NULL, ..., k = 1)

Arguments

x
the data.frame to sample from.
design
a character, logical or numeric vector specifying the variables (columns) to be used for stratified sampling.
group
a character string, single integer or logical vector specifying a variable (column) to be used for sampling whole groups rather than individual observations.
method
a function to be used for sampling (defaults to srs). It should return a vector containing the indices of the sampled items (observations or groups).
size
an optional non-negative integer giving the number of items (observations or groups) to sample. For stratified sampling, a vector of non-negative integers, each giving the number of items to sample from the corresponding stratum.
prob
an optional numeric vector giving the probability weights
...
additional arguments to be passed to method.
k
a single positive integer giving the number of samples to be set up.

Value

  • An object of class "SampleSetup".

Details

There are some restrictions on the argument names of the function supplied to method. If it needs population data as input, the corresponding argument should be called x and should expect a data.frame. If the sampling method only needs the population size as input, the argument should be called N. Note that method is not expected to have both x and N as arguments, and that the latter is much faster for stratified sampling or group sampling. 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 of method may be passed directly via the ...argument.

See Also

setup, SampleControl, SampleSetup

Examples

Run this code
data(eusilc)

## simple random sampling
srss <- simSample(eusilc, size = 20, k = 3)
draw(eusilc[, c("id", "eqIncome")], srss, i = 1)

## group sampling
gss <- simSample(eusilc, group = "hid", size = 10, k = 3)
draw(eusilc[, c("hid", "id", "eqIncome")], gss, i = 2)

## stratified sampling
stss <- simSample(eusilc, design = "region", 
    size = c(2, 5, 5, 3, 4, 5, 3, 5, 2), k = 3)
draw(eusilc[, c("id", "region", "eqIncome")], stss, i = 3)

Run the code above in your browser using DataLab