Learn R Programming

cosa (version 1.2.0)

bird2r1: Blocked Individual-level Regression Discontinuity (Two-level Design, Discontinuity at Level 1)

Description

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

Usage

cosa.bird2r1(cn1 = 0, cn2 = 0, cost = NULL,
             n1 = NULL, n2 = NULL, p = NULL,
             n0 = c(10, 100 + g2), p0 = .499, constrain = "power",
             round = TRUE, max.power = FALSE,
             local.solver = c("LBFGS", "SLSQP", "MMA", "COBYLA"),
             rhots = NULL, k1 = -6, k2 = 6, dists = "normal",
             power = .80, es = .25, alpha = .05, two.tailed = TRUE,
             rho2, omega2, g2 = 0, r21 = 0, r2t2 = 0)

mdes.bird2r1(power = .80, alpha = .05, two.tailed = TRUE, rhots = NULL, k1 = -6, k2 = 6, dists = "normal", rho2, omega2, r21 = 0, r2t2 = 0, g2 = 0, p = .50, n1, n2)

power.bird2r1(es = .25, alpha = .05, two.tailed = TRUE, rhots = NULL, k1 = -6, k2 = 6, dists = "normal", rho2, omega2, r21 = 0, r2t2 = 0, g2 = 0, p = .50, n1, n2)

Arguments

cn1

marginal cost per level 1 unit in treatment and control conditions.

cn2

marginal cost per level 2 unit.

cost

total cost or budget.

n1

average number of level 1 units per level 2 units.

n2

number of level 2 units.

p

proportion of level 1 units in treatment condition.

n0

vector of starting values for n1, n2 (positional). Starting values are replaced with averages when sample sizes are constrained by bounds.

p0

starting value for p when rhots = 0 and p = NULL. Starting value is replaced with average when p is constrained by bounds.

power

statistical power (1 - \(\beta\)).

es

effect size (Cohen's d).

alpha

probability of type I error (\(\alpha\)).

two.tailed

logical; TRUE for two-tailed hypothesis testing.

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", "MMA", "COBYLA")

rhots

correlation between the treatment and the scoring variable. Specify rhots = 0 to obtain results equivalent to random assignment designs.

k1

left truncation point (in standard deviation units from full normal distribution mean), ignored when rhots is not NULL or dists = "uniform".

k2

right truncation point (in standard deviation units from full normal distribution mean), ignored when rhots is not NULL or dists = "uniform".

dists

character; distribution of the scoring variable, "normal" or "uniform". By default, dists = "normal" specification implies a truncated normal distribution with k1 = -6 and k2 = 6.

rho2

proportion of variance in the outcome between level 2 units (unconditional ICC2).

omega2

ratio of the treatment effect variance between level 2 units to the variance in the outcome between level 2 units.

g2

number of covariates at level 2.

r21

proportion of level 1 variance in the outcome explained by level 1 covariates.

r2t2

proportion of treatment effect variance between level 2 units explained by level 2 covariates.

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 - \(\alpha\))% confidence limits.

power

statistical power (1 - \(\beta\))

Examples

Run this code
# NOT RUN {
# cost constrained - optimize n1 and n2
cosa.bird2r1(constrain = "cost", cost = 5000,
             cn1 = c(5, 4), cn2 = 10,
             es = .20, rho2 = .20, omega2 = .20,
             r21 = .20, r2t2 = .20, g2 = 1,
             p = .50, n1 = NULL, n2 = NULL)

# minimum detectable effect size
mdes.bird2r1(power = .80, rho2 = .20, omega2 = .20,
             r21 = .20, r2t2 = .30, g2 = 1, p = .50,
             n1 = 26.96, n2 = 22)

# statistical power
power.bird2r1(es = .20, rho2 = .20, omega2 = .20,
              r21 = .20, r2t2 = .30, g2 = 1, p = .50,
              n1 = 26.96, n2 = 22)
# }

Run the code above in your browser using DataLab