Takes simulation parameters as inputs and returns simulated data.
sim_reg_nested(
fixed,
random,
fixed_param,
random_param = list(),
cov_param,
n,
p,
error_var,
with_err_gen,
arima = FALSE,
data_str,
cor_vars = NULL,
fact_vars = list(NULL),
unbal = FALSE,
unbal_design = NULL,
lvl1_err_params = NULL,
arima_mod = list(NULL),
contrasts = NULL,
homogeneity = TRUE,
heterogeneity_var = NULL,
cross_class_params = NULL,
knot_args = list(NULL),
...
)
One sided formula for fixed effects in the simulation. To suppress intercept add -1 to formula.
One sided formula for random effects in the simulation. Must be a subset of fixed.
Fixed effect parameter values (i.e. beta weights). Must be same length as fixed.
A list of named elements that must contain:
random_var: variance of random parameters,
rand_gen: Name of simulation function for random effects.
Optional elements are:
ther: Theorectial mean and variance from rand_gen,
ther_sim: Simulate mean/variance for standardization purposes,
cor_vars: Correlation between random effects,
...: Additional parameters needed for rand_gen function.
List of arguments to pass to the continuous generating function, must be the same order as the variables specified in fixed. This list does not include intercept, time, factors, or interactions. Required arguments include:
dist_fun: This is a quoted R distribution function.
var_type: This is the level of variable to generate. Must be 'level1' or 'level2'. Must be same order as fixed formula above.
Optional arguments to the distribution functions are in a nested list, see the examples or vignettes for example code.
Cluster sample size.
Within cluster sample size.
Scalar of error variance.
Simulated within cluster error distribution. Must be a quoted 'r' distribution function.
TRUE/FALSE flag indicating whether residuals should
be correlated. If TRUE, must specify a valid model to pass to
arima.sim via the arima_mod argument.
See arima.sim
for examples.
Type of data. Must be "cross" or "long".
A vector of correlations between variables.
A nested list of factor, categorical, or ordinal variable specification, each list must include:
numlevels = Number of levels for ordinal or factor variables.
var_type = Must be 'level1' or 'level2'.
Optional arguments include:
replace
prob
value.labels
See also sample
for use of these optional arguments.
A vector of sample sizes for the number of observations for each level 2 cluster. Must have same length as level two sample size n. Alternative specification can be TRUE, which uses additional argument, unbal_design.
When unbal = TRUE, this specifies the design for unbalanced simulation in one of two ways. It can represent the minimum and maximum sample size within a cluster via a named list. This will be drawn from a random uniform distribution with min and max specified. Secondly, the sample sizes within each cluster can be specified. This takes the form of a vector that must have the same length as the level two sample size.
Additional parameters passed as a list on to the level one error generating function
A list indicating the ARIMA model to pass to arima.sim.
See arima.sim
for examples.
An optional list that specifies the contrasts to be used
for factor variables (i.e. those variables with .f or .c).
See contrasts
for more detail.
Either TRUE (default) indicating homogeneity of variance assumption is assumed or FALSE to indicate desire to generate heterogeneity of variance.
Variable name as a character string to use for heterogeneity of variance simulation.
A list of named parameters when cross classified data structures are desired. Must include the following arguments:
num_ids: The number of cross classified clusters. These are in addition to the typical cluster ids
random_param: This argument is a list of arguments passed to
sim_rand_eff
. These must include:
random_var: The variance of the cross classified random effect
rand_gen: The random generating function used to generate the cross classified random effect.
Optional elements are:
ther: Theorectial mean and variance from rand_gen,
ther_sim: Simulate mean/variance for standardization purposes,
cor_vars: Correlation between random effects,
...: Additional parameters needed for rand_gen function.
A nested list of named knot arguments. See sim_knot
for more details. Arguments must include:
var
knot_locations
Not currently used.
Simulates data for the linear mixed model, both cross sectional and longitudinal data. Returns a data frame with ID variables, fixed effects, and many other variables useful to help when running simulation studies.
sim_reg
for a convenient wrapper for all data
conditions.
# NOT RUN {
#' # Longitudinal linear mixed model example
fixed <- ~1 + time + diff + act + time:act
random <- ~1 + time + diff
fixed_param <- c(4, 2, 6, 2.3, 7)
random_param <- list(random_var = c(7, 4, 2), rand_gen = 'rnorm')
cov_param <- list(dist_fun = c('rnorm', 'rnorm'),
var_type = c("level1", "level2"),
opts = list(list(mean = 0, sd = 1.5),
list(mean = 0, sd = 4)))
n <- 150
p <- 30
error_var <- 4
with_err_gen <- 'rnorm'
data_str <- "long"
temp_long <- sim_reg(fixed, random, random3 = NULL, fixed_param,
random_param, random_param3 = NULL,
cov_param, k = NULL, n, p, error_var, with_err_gen, data_str = data_str)
# }
Run the code above in your browser using DataLab