Given a specific sample size, fixed number of group and replicates per group, the function simulate different variance-covariance structure and assess p-values and power of random intercept and random slope
EAMM(
numsim,
group,
repl,
fixed = c(0, 1, 0),
VI = seq(0.05, 0.95, 0.05),
VS = seq(0.05, 0.5, 0.05),
CoIS = 0,
relIS = "cor",
n.X = NA,
autocorr.X = 0,
X.dist = "gaussian",
intercept = 0,
heteroscedasticity = c("null"),
mer.sim = TRUE,
mer.model = NULL
)data frame reporting estimated P-values and power with CI for random intercept and random slope
number of simulation for each step
number of group
number of replicates per group
vector of lenght 3 with mean, variance and estimate of
fixed effect to simulate. Default: c(0, 1, 0)
variance component of intercept. Could be specified as a
vector. Default: seq(0.05, 0.95, 0.05)
Variance component of the slope or IxE. Could be specified as a vector.
Default: seq(0.05, 0.5, 0.05)
value of correlation or covariance between random intercept and random slope. Default: 0
"cor" or "cov" set the type of relation give in CoIS. By default the relation is set to correlation
number of different values to simulate for the fixed effect (covariate).
If NA, all values of X are independent between groups. If the value specified
is equivalent to the number of replicates per group, repl, then all groups
are observed for the same values of the covariate. Default: NA
correlation between two successive covariate value for a group. Default: 0
specify the distribution of the fixed effect. Only "gaussian" (normal distribution) and
"unif" (uniform distribution) are accepted actually. Default: "gaussian"
a numeric value giving the expected intercept value. Default: 0
a vector specifying heterogeneity in residual
variance across X. If c("null") residual variance is homogeneous
across X. If c("power",t1,t2) models heterogeneity with a constant
plus power variance function.
Letting \(v\) denote the variance covariate and \(\sigma^2(v)\)
denote the variance function evaluated at \(v\), the constant plus power
variance function is defined as \(\sigma^2(v) = (\theta_1 + |v|^{\theta_2})^2\),
where \(\theta_1,\theta_2\) are the variance function coefficients.
If c("exp",t),models heterogeneity with an
exponential variance function. Letting \(v\) denote the variance covariate and \(\sigma^2(v)\)
denote the variance function evaluated at \(v\), the exponential
variance function is defined as \(\sigma^2(v) = e^{2 * \theta * v}\), where \(\theta\) is the variance
function coefficient. Default:"Null"
Use the simluate.merMod function to simulate the data. Potentially faster for large dataset but more restricted in terms of options
Simulate the data based on a existing data and model structure from a lmer object. Should be specified as a list of 3 components: a mer object fitted via lmer, an environmental covariate for which to test the random slope, a random effect (e.g. list(fm1,"Days","Subject")
P-values for random effects are estimated using a log-likelihood ratio test between two models with and without the effect. Power represent the percentage of simulations providing a significant p-value for a given random structure. Residual variance, e, is calculted as 1-VI.
[PAMM()], [SSF()] for other simulations [plot.EAMM()] for plotting output
if (FALSE) {
ours <- EAMM(
numsim = 10, group = 10, repl = 4, fixed = c(0, 1, 1),
VI = seq(0.1, 0.3, 0.05), VS = seq(0.05, 0.2, 0.05)
)
plot(ours, "both")
(fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy))
ours2 <- EAMM(
numsim = 10,
mer.model = list(model = fm1, env = "Days", random = "Subject"),
VI = seq(0.3, 0.5, 0.1), VS = seq(0.05, 0.2, 0.05)
)
plot(ours2, "both")
}
Run the code above in your browser using DataLab