simulate {stats}R Documentation

Simulate Responses


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.

See Also

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

## 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
## first set the RNG kind, then simulate, attr(sseed, "kind"))
identical(S2, simulate(mod1, nsim = 200, seed = sseed))

[Package stats version 2.5.0 Index]