Learn R Programming

depmixS4 (version 0.2-1)

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

Description

Random draws from (dep-)mix objects.

Usage

## S3 method for class 'depmix':
simulate(object, nsim=1, seed=NULL, ...)
  
  ## S3 method for class 'mix':
simulate(object, nsim=1, seed=NULL, ...)

  ## S3 method for class 'response':
simulate(object, nsim=1, seed=NULL, times, ...)
  
  ## S3 method for class 'GLMresponse':
simulate(object, nsim=1, seed=NULL, times, ...)
  
  ## S3 method for class '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
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