R: Stratified and Clustered Random Sampling

strata_and_cluster_rs {randomizr} | R Documentation

## Stratified and Clustered Random Sampling

### Description

A random sampling procedure in which units are sampled as clusters and clusters are nested within strata.

### Usage

    strata_and_cluster_rs(strata = NULL, clusters = NULL, prob = NULL,
      prob_unit = NULL, n = NULL, n_unit = NULL, strata_n = NULL,
      strata_prob = NULL, check_inputs = TRUE)

### Arguments

`strata` | A vector of length N that indicates which stratum each unit belongs to.
`clusters` | A vector of length N that indicates which cluster each unit belongs to.
`prob` | Use for a design in which either floor(N_clusters_stratum*prob) or ceiling(N_clusters_stratum*prob) clusters are sampled within each stratum. The probability of being sampled is exactly prob because with probability 1-prob, floor(N_clusters_stratum*prob) clusters will be sampled and with probability prob, ceiling(N_clusters_stratum*prob) clusters will be sampled. prob must be a real number between 0 and 1 inclusive. (optional)
`prob_unit` | Must of be of length N. tapply(prob_unit, blocks, unique) will be passed to `strata_prob`.
`n` | Use for a design in which the scalar n describes the fixed number of units to sample in each stratum. This number does not vary across strata.
`n_unit` | Must be of length N. tapply(m_unit, blocks, unique) will be passed to `strata_n`.
`strata_n` | Use for a design in which strata_n describes the number of units to sample within each stratum.
`strata_prob` | Use for a design in which strata_prob describes the probability of being sampled within each stratum. Differs from prob in that the probability of being sampled can vary across strata.
`check_inputs` | logical. Defaults to TRUE.

### Value

A numeric vector of length N that indicates if a unit is sampled (1) or not (0).

### Examples

    clusters <- rep(letters, times = 1:26)

    strata <- rep(NA, length(clusters))
    strata[clusters %in% letters[1:5]] <- "stratum_1"
    strata[clusters %in% letters[6:10]] <- "stratum_2"
    strata[clusters %in% letters[11:15]] <- "stratum_3"
    strata[clusters %in% letters[16:20]] <- "stratum_4"
    strata[clusters %in% letters[21:26]] <- "stratum_5"

    table(strata, clusters)

    S <- strata_and_cluster_rs(strata = strata,
                              clusters = clusters)

    table(S, strata)
    table(S, clusters)

    S <- strata_and_cluster_rs(clusters = clusters,
                               strata = strata,
                               prob = .5)

    table(S, clusters)
    table(S, strata)

    S <- strata_and_cluster_rs(clusters = clusters,
                               strata = strata,
                               strata_n = c(2, 3, 2, 3, 2))

    table(S, clusters)
    table(S, strata)

    S <- strata_and_cluster_rs(clusters = clusters,
                               strata = strata,
                               strata_prob = c(.1, .2, .3, .4, .5))

    table(S, clusters)
    table(S, strata)

[Package randomizr version 0.18.0 Index]