Generate Positive and Bounded Continuous Variables
Source:R/sim-generators.R
continuous-generators.RdCreate generator specifications for gamma and beta variables.
Usage
gen_gamma(
vars,
level = c("single", "level2", "multilevel"),
shape = NULL,
mean = NULL,
rate = NULL,
scale = NULL,
fixed_intercept = NULL,
random_cov = NULL,
scale_fixed_intercept = NULL
)
gen_beta(
vars,
level = c("single", "level2", "multilevel"),
mean = NULL,
precision = NULL,
fixed_intercept = NULL,
random_cov = NULL,
scale_fixed_intercept = NULL
)Arguments
- vars
Character scalar naming the generated variable.
- level
Simulation level.
"single"generates row-level values,"level2"generates group-level values, and"multilevel"uses a random-intercept model.- shape
Gamma shape parameter.
- mean
Mean parameter. For gamma variables this must be positive; for beta variables it must be in
(0, 1).- rate, scale
Alternative gamma parameterizations for
"single"and"level2"generators. Supply at most one ofrateorscale.- fixed_intercept
Link-scale intercept. Gamma uses the log link; beta uses the logit link.
- random_cov
Group-level random-intercept covariance for multilevel generators.
- scale_fixed_intercept
Optional log shape or log precision intercept for multilevel generators.
- precision
Beta precision parameter.
Value
An mlsim_generator_spec object for use in simulate_data().
See also
Other predictor generators:
count-generators,
gen_categorical(),
gen_custom(),
gen_mvn(),
gen_normal()
Examples
sim <- simulate_data(
n = 5,
seed = 5,
generators = list(
positive = gen_gamma("positive", shape = 2, mean = 1.5),
proportion = gen_beta("proportion", mean = 0.4, precision = 10)
)
)
sim$data
#> obs_id positive proportion
#> <int> <num> <num>
#> 1: 1 0.4851945 0.4264494
#> 2: 2 0.6624663 0.2618874
#> 3: 3 1.1903527 0.6327267
#> 4: 4 3.2462519 0.5897335
#> 5: 5 0.6393495 0.5073695