Learn R Programming

depmixS4 (version 1.5-0)

simulate: Methods to simulate from (dep-)mix models

Description

Random draws from (dep-)mix objects.

Usage

# S4 method for depmix
simulate(object, nsim=1, seed=NULL, ...)
  
  # S4 method for mix
simulate(object, nsim=1, seed=NULL, ...)

# S4 method for response simulate(object, nsim=1, seed=NULL, times, ...) # S4 method for GLMresponse simulate(object, nsim=1, seed=NULL, times, ...) # S4 method for transInit simulate(object, nsim=1, seed=NULL, times, is.prior=FALSE, ...)

Arguments

object

Object to generate random draws. An object of class mix, depmix, response or transInit

nsim

The number of draws (one draw simulates a data set of the size that is defined by ntimes); defaults to 1.

seed

Set the seed.

times

(optional) An indicator vector indicating for which times in the complete series to generate the data. For internal use.

is.prior

For transInit objects, indicates whether it is a prior (init) model, or not (i.e., it is a transition model)

...

Not used currently.

Value

For a depmix object, a new object of class depmix.sim.

For a transInit object, a state sequence.

For a response object, an observation sequence.

Details

For a depmix model, simulate generates nsim random state sequences, each of the same length as the observation sequence in the depmix model (i.e., sum(ntimes(object)). The state sequences are then used to generate nsim observation sequences of thee same length.

For a mix model, simulate generates nsim random class assignments for each case. Those assigments are then used to generate observation/response values from the appropriate distributions.

Setting the times option selects the time points in the total state/observation sequence (i.e., counting is continued over ntimes). Direct calls of simulate with the times option are not recommended.

Examples

Run this code
# NOT RUN {
y <- rnorm(1000)
respst <- c(0,1,2,1)
trst <- c(0.9,0.1,0.1,0.9)

df <- data.frame(y=y)

mod <- depmix(y~1,data=df,respst=respst,trst=trst,inst=c(0.5,0.5),nti=1000,nst=2)

mod <- simulate(mod)

# }

Run the code above in your browser using DataLab