| simulate {stats} | R Documentation |
Simulate Responses
Description
Simulate one or more response vectors from the theoretical distribution corresponding to a fitted model object.
Usage
simulate(object, nsim, seed, ...)
Arguments
object |
an object representing a fitted model. |
nsim |
number of response vectors to simulate. Defaults to 1. |
seed |
an object specifying if and how the random number
generator should be initialized (“seeded”). |
... |
additional optional arguments. |
Details
This is a generic function with a method for lm objects.
Consult the individual modeling functions
for details on how to use this function.
Value
Typically, a list of length nsim of simulated response vectors.
When appropriate the result can be a data frame (which is a special
type of list).
For the "lm" method, the result is a data frame with an
attribute "seed" containing the seed argument and
as.list(RNGkind()) if seed was not NULL,
or the value of .Random.seed before the simulation was
started when seed was NULL as by default.
See Also
fitted.values and residuals for related methods;
glm, lm for model fitting.
Examples
x <- 1:5
mod1 <- lm(c(1:3,7,6) ~ x)
S1 <- simulate(mod1, nsim = 4)
## repeat the simulation:
.Random.seed <- attr(S1, "seed")
identical(S1, simulate(mod1, nsim = 4))
S2 <- simulate(mod1, nsim = 200, seed = 101)
rowMeans(S2) # should be about
fitted(mod1)
## repeat identically:
(sseed <- attr(S2, "seed")) # seed; RNGkind as attribute
stopifnot(identical(S2, simulate(mod1, nsim = 200, seed = sseed)))
## To be sure about the proper RNGkind, e.g., after
RNGversion("1.0.0")
## first set the RNG kind, then simulate
do.call(RNGkind, attr(sseed, "kind"))
identical(S2, simulate(mod1, nsim = 200, seed = sseed))