od.2m {odr} | R Documentation |
Optimal sample allocation calculation for two-level MRTs detecting main effects
Description
The optimal design of two-level
multisite randomized trials (MRTs) detecting main effects is to calculate
the sample allocation that minimizes the variance of a
treatment effect under a fixed budget, which is approximately the optimal
sample allocation that maximizes statistical power under a fixed budget.
The optimal design parameters include
the level-one sample size per site (n
)
and the proportion of level-one unit to be assigned to treatment (p
).
This function solves the optimal n
and/or p
with and without a constraint.
Usage
od.2m(
n = NULL,
p = NULL,
icc = NULL,
r12 = NULL,
r22m = NULL,
c1 = NULL,
c2 = NULL,
c1t = NULL,
omega = NULL,
m = NULL,
plots = TRUE,
plot.by = NULL,
nlim = NULL,
plim = NULL,
varlim = NULL,
nlab = NULL,
plab = NULL,
varlab = NULL,
vartitle = NULL,
verbose = TRUE,
iter = 100,
tol = 1e-10
)
Arguments
n |
The level-1 sample size per level-2 unit. |
p |
The proportion of level-4 clusters/units to be assigned to treatment. |
icc |
The unconditional intraclass correlation coefficient (ICC) in population or in each treatment condition. |
r12 |
The proportion of level-1 variance explained by covariates. |
r22m |
The proportion of variance of site-specific treatment effect explained by covariates. |
c1 |
The cost of sampling one level-1 unit in control condition. |
c2 |
The cost of sampling one level-2 unit in control condition. |
c1t |
The cost of sampling one level-1 unit in treatment condition. |
omega |
The standardized variance of site-specific treatment effect. |
m |
Total budget, default is the total costs of sampling 60 sites. |
plots |
Logical, provide variance plots if TRUE, otherwise not; default value is TRUE. |
plot.by |
Plot the variance by |
nlim |
The plot range for n, default value is c(2, 50). |
plim |
The plot range for p, default value is c(0, 1). |
varlim |
The plot range for variance, default value is c(0, 0.05). |
nlab |
The plot label for |
plab |
The plot label for |
varlab |
The plot label for variance, default value is "Variance". |
vartitle |
The title of variance plot, default value is NULL. |
verbose |
Logical; print the values of |
iter |
Number of iterations; default value is 100. |
tol |
Tolerance for convergence; default value is 1e-10. |
Value
Unconstrained or constrained optimal sample allocation
(n
and p
).
The function also returns the variance of the treatment effect,
function name, design type,
and parameters used in the calculation.
References
Shen, Z., & Kelcey, B. (in press). Optimal sample allocation in multisite randomized trials. The Journal of Experimental Education. <https://doi.org/10.1080/00220973.2020.1830361>
Examples
# Unconstrained optimal design #---------
myod1 <- od.2m(icc = 0.2, omega = 0.02, r12 = 0.5, r22m = 0.5,
c1 = 1, c2 = 10, c1t = 10,
varlim = c(0, 0.005))
myod1$out # n = 20, p =0.37
# Plots by p
myod1 <- od.2m(icc = 0.2, omega = 0.02,
r12 = 0.5, r22m = 0.5,
c1 = 1, c2 = 10, c1t = 10,
varlim = c(0, 0.005), plot.by = list(p = 'p'))
# Constrained optimal design with p = 0.5 #---------
myod2 <- od.2m(icc = 0.2, omega = 0.02,
r12 = 0.5, r22m = 0.5,
c1 = 1, c2 = 10, c1t = 10,
varlim = c(0, 0.005), p = 0.5)
myod2$out
# Relative efficiency (RE)
myre <- re(od = myod1, subod= myod2)
myre$re # RE = 0.86
# Constrained optimal design with n = 5 #---------
myod3 <- od.2m(icc = 0.2, omega = 0.02,
r12 = 0.5, r22m = 0.5, c1 = 1, c2 = 10,
c1t = 10, varlim = c(0, 0.005), n = 5)
myod3$out
# Relative efficiency (RE)
myre <- re(od = myod1, subod= myod3)
myre$re # RE = 0.79
# Constrained n and p, no calculation performed #---------
myod4 <- od.2m(icc = 0.2, omega = 0.02, r12 = 0.5, r22m = 0.5,
c1 = 1, c2 = 10, c1t = 10,
varlim = c(0, 0.005), p = 0.5, n = 10)
myod4$out
# Relative efficiency (RE)
myre <- re(od = myod1, subod= myod4)
myre$re # RE = 0.84