| simulate {stats} | R Documentation |
Simulate one or more response vectors from the theoretical distribution corresponding to a fitted model object.
simulate(object, nsim, seed, ...)
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”). For the "lm" method, either NULL or an integer that will be
used in a call to set.seed before simulating the response
vectors. If set, the value is saved as the "seed" attribute
of the returned value. The default, NULL will not change the
random generator state, and return .Random.seed as
"seed" attribute, see below.
|
... |
additional optional arguments. |
This is a generic function with a method for lm objects.
Consult the individual modeling functions
for details on how to use this function.
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.
fitted.values and residuals for related methods;
glm, lm for model fitting.
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))