# bcrd4r3: Blocked Cluster-level Regression Discontinuity (Four-level... In cosa: Bound Constrained Optimal Sample Allocation

## Description

Use `mdes.bcrd4r3()` to calculate minimum detectable effect size, `power.bcrd4r3()` to calculate statistical power, and `cosa.bcrd4r3()` for constrained optimal sample allocation.

## Usage

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22``` ```mdes.bcrd4r3(score = NULL, order = 2, rhots = NULL, k1 = -6, k2 = 6, dists = "normal", power = .80, alpha = .05, two.tailed = TRUE, df = n4 - g4 - 1, rho2, rho3, rho4, omega4, r21 = 0, r22 = 0, r23 = 0, r2t4 = 0, g4 = 0, rate.tp = 1, rate.cc = 0, p = .50, n1, n2, n3, n4) power.bcrd4r3(score = NULL, order = 2, rhots = NULL, k1 = -6, k2 = 6, dists = "normal", es = .25, alpha = .05, two.tailed = TRUE, df = n4 - g4 - 1, rho2, rho3, rho4, omega4, r21 = 0, r22 = 0, r23 = 0, r2t4 = 0, g4 = 0, rate.tp = 1, rate.cc = 0, p = .50, n1, n2, n3, n4) cosa.bcrd4r3(score = NULL, order = 2, rhots = NULL, k1 = -6, k2 = 6, dists = "normal", cn1 = 0, cn2 = 0, cn3 = 0, cn4 = 0, cost = NULL, n1 = NULL, n2 = NULL, n3 = NULL, n4 = NULL, p = NULL, n0 = c(10, 3, 100, 5 + g4), p0 = .499, constrain = "power", round = TRUE, max.power = FALSE, local.solver = c("LBFGS", "SLSQP"), power = .80, es = .25, alpha = .05, two.tailed = TRUE, rho2, rho3, rho4, omega4, g4 = 0, r21 = 0, r22 = 0, r23 = 0, r2t4 = 0) ```

## Arguments

 `score` list; an object with class 'score' returned from `inspect.score()` function. `order` integer; order of functional form for the score variable, 0 for corresponding random assignment designs, 1 for RD design with linear score variable, 2 for RD design with linear + quadratic score variable `rhots` correlation between the treatment and the scoring variable. Specify `rhots = 0` or `order = 0` to obtain results equivalent to random assignment designs. `k1` numeric; left truncation point for truncated normal dist., or lower bound for uniform dist., ignored when `rhots = 0` or `order = 0`. `k2` numeric; right truncation point for truncated normal dist., or upper bound for uniform dist., ignored when `rhots = 0` or `order = 0`. `dists` character; distribution of the score variable, `"normal"` or `"uniform"`. By default, `dists = "normal"` specification implies a truncated normal distribution with `k1 = -6` and `k2 = 6`. `power` statistical power (1 - β). `es` effect size (Cohen's d). `alpha` probability of type I error (α). `two.tailed` logical; `TRUE` for two-tailed hypothesis testing. `df` degrees of freedom. `rho2` proportion of variance in the outcome between level 2 units (unconditional ICC2). `rho3` proportion of variance in the outcome between level 3 units (unconditional ICC3). `rho4` proportion of variance in the outcome between level 4 units (unconditional ICC4). `omega4` ratio of the treatment effect variance between level 4 units to the variance in the outcome between level 4 units. `g4` number of covariates at level 4. `r21` proportion of level 1 variance in the outcome explained by level 1 covariates. `r22` proportion of level 2 variance in the outcome explained by level 2 covariates. `r23` proportion of level 3 variance in the outcome explained by level 3 covariates. `r2t4` proportion of treatment effect variance between level 4 units explained by level 4 covariates. `rate.tp` treatment group participation rate. `rate.cc` control group crossover rate. `p` proportion of level 3 units in treatment condition. `n1` average number of level 1 units per level 2 unit. `n2` average number of level 2 units per level 3 unit. `n3` average number of level 3 units per level 4 unit. `n4` number of level 4 units. `cn1` marginal cost per level 1 unit in treatment and control conditions, e.g. `c(10, 5)`. `cn2` marginal cost per level 2 unit in treatment and control conditions, e.g. `c(50, 20)`. `cn3` marginal cost per level 3 unit in treatment and control conditions, e.g. `c(80, 50)`. `cn4` marginal cost per level 4 unit. `cost` total cost or budget. `p0` starting value for `p` when `rhots = 0` and `p = NULL`. Starting value is replaced with average when `p` is constrained by bounds. `n0` vector of starting values for `n1, n2, n3, n4` (positional). Starting values are replaced with averages when sample sizes are constrained by bounds. `constrain` character; `"cost"`, `"power"`, or `"mdes"`. `round` logical; `TRUE` for rounded COSA solution. `max.power` logical; `TRUE` for maximizing power instead of minimizing variance. `local.solver` subset of `c("LBFGS", "SLSQP")`.

## Value

 `parms` list of parameters used in the function. `df` degrees of freedom. `sse` standardized standard error. `cosa` constrained optimal sample allocation. `mdes` minimum detectable effect size and (1 - α)% confidence limits. `power` statistical power (1 - β)

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20``` ```score.obj <- inspect.score(rnorm(10000), cutoff = 0) mdes.bcrd4r3(score.obj, order = 2, power = .80, rho2 = .20, rho3 = .10, rho4 = .05, omega4 = .30, g4 = 0, r2t4 = 0, n1 = 20, n2 = 3, n3 = 20, n4 = 10) power.bcrd4r3(score.obj, order = 2, es = 0.334, rho2 = .20, rho3 = .10, rho4 = .05, omega4 = .30, g4 = 0, r2t4 = 0, n1 = 20, n2 = 3, n3 = 20, n4 = 10) # optimal combination of sample sizes for level 1, level 2, level 3, and level 4 # that produce power = .80 (given range restrictions for level 1, level 2, and level 4) cosa.bcrd4r3(score.obj, order = 2, constrain = "power", power = .80, es = 0.25, rho2 = .20, rho3 = .10, rho4 = .05, omega4 = .30, g4 = 0, r2t4 = 0, n1 = c(10, 30), n2 = c(2, 5), n3 = NULL, n4 =c(3, 10)) ```

cosa documentation built on Aug. 24, 2019, 5:03 p.m.