Use mdes.crd4() to calculate minimum detectable effect size, power.crd4() to calculate statistical power, and cosa.crd4() for constrained optimal sample allocation.
mdes.crd4(power = .80, alpha = .05, two.tailed = TRUE, df = n4 - g4 - order - 2,
score = NULL, order = 2, rhots = NULL, k1 = -6, k2 = 6, dists = "normal",
rho2, rho3, rho4, r21 = 0, r22 = 0, r23 = 0, r24 = 0,
g4 = 0, rate.tp = 1, rate.cc = 0, p = .50, n1, n2, n3, n4)power.crd4(score = NULL, order = 2, rhots = NULL, k1 = -6, k2 = 6, dists = "normal",
es = .25, alpha = .05, two.tailed = TRUE, df = n4 - g4 - order - 2,
rho2, rho3, rho4, r21 = 0, r22 = 0, r23 = 0, r24 = 0,
g4 = 0, rate.tp = 1, rate.cc = 0, p = .50, n1, n2, n3, n4)
cosa.crd4(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 + order), 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, g4 = 0, r21 = 0, r22 = 0, r23 = 0, r24 = 0)
list; an object with class 'score' returned from inspect.score() function.
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
correlation between the treatment and the scoring variable. Specify rhots = 0 or order = 0 to obtain results equivalent to random assignment designs.
numeric; left truncation point for truncated normal dist., or lower bound for uniform dist., ignored when rhots = 0 or order = 0.
numeric; right truncation point for truncated normal dist., or upper bound for uniform dist., ignored when rhots = 0 or order = 0.
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.
statistical power (1 - \(\beta\)).
effect size (Cohen's d).
probability of type I error (\(\alpha\)).
logical; TRUE for two-tailed hypothesis testing.
degrees of freedom.
proportion of variance in the outcome between level 2 units (unconditional ICC2).
proportion of variance in the outcome between level 3 units (unconditional ICC3).
proportion of variance in the outcome between level 4 units (unconditional ICC4).
number of covariates at level 4.
proportion of level 1 variance in the outcome explained by level 1 covariates.
proportion of level 2 variance in the outcome explained by level 2 covariates.
proportion of level 3 variance in the outcome explained by level 3 covariates.
proportion of level 4 variance in the outcome explained by level 4 covariates.
treatment group participation rate.
control group crossover rate.
proportion of level 4 units in treatment condition.
average number of level 1 units per level 2 unit.
average number of level 2 units per level 3 unit.
average number of level 3 units per level 4 unit.
number of level 4 units.
marginal cost per level 1 unit in treatment and control conditions, e.g. c(10, 5).
marginal cost per level 2 unit in treatment and control conditions, e.g. c(50, 30).
marginal cost per level 3 unit in treatment and control conditions, e.g. c(80, 50).
marginal cost per level 4 unit in treatment and control conditions, e.g. c(100, 40).
total cost or budget.
starting value for p when rhots = 0 and p = NULL. Starting value is replaced with average when p is constrained by bounds.
vector of starting values for n1, n2, n3, n4 (positional). Starting values are replaced with averages when sample sizes are constrained by bounds.
character; "cost", "power", or "mdes".
logical; TRUE for rounded COSA solution.
logical; TRUE for maximizing power instead of minimizing variance.
subset of c("LBFGS", "SLSQP").
list of parameters used in the function.
degrees of freedom.
standardized standard error.
constrained optimal sample allocation.
minimum detectable effect size and (1 - \(\alpha\))% confidence limits.
statistical power (1 - \(\beta\))
# NOT RUN {
score.obj <- inspect.score(rnorm(10000), cutoff = 0)
power.crd4(score.obj, order = 2,
es = .25, rho2 = .20, rho3 = .10, rho4 = .05,
g4 = 0, r24 = 0, n1 = 20, n2 = 3, n3 = 20, n4 = 20)
# optimal combination of sample sizes for level 1, level 3 and level 4
# that produce power = .80 (given range restriction for level 1 sample size)
cosa.crd4(score.obj, order = 2,
constrain = "power", power = .80,
es = .25, rho2 = .20, rho3 = .10, rho4 = .05,
g4 = 0, r24 = 0,
n1 = c(20, 60), n2 = 2, n3 = NULL, n4 = NULL)
# }
Run the code above in your browser using DataLab