drawLMmixed: Draws samples from the mixed LM model

View source: R/draw.R

drawLMmixedR Documentation

Draws samples from the mixed LM model

Description

Function that draws samples from the mixed LM model with specific parameters.

Usage

drawLMmixed(la, Piv, Pi, Psi, n, TT, est = NULL,
            format = c("long","matrices"), seed = NULL)

Arguments

la

vector of mass probabilities for the first latent variable

Piv

matrix of initial probabilities of the latent Markov chain (k2 x k1)

Pi

set of transition matrices (k2 x k2 x k1)

Psi

array of conditional response probabitlies (mb x k2 x r)

n

sample size

TT

number of time occasions

est

object of class LMmixed (LMmixed-class)

format

character string indicating the format of final responses matrix

seed

an integer value with the random number generator state

Value

Y

matrix of response configurations unit by unit

S

matrix of distinct response configurations

yv

corresponding vector of frequencies

la

vector of mass probabilities for the first latent variable

Piv

matrix of initial probabilities of the latent Markov chain (k2 x k1)

Pi

set of transition matrices (k2 x k2 x k1)

Psi

array of conditional response probabitlies (mb x k2 x r)

n

sample size

TT

number of time occasions

est

object of class LMmixed (LMmixed-class)

Author(s)

Francesco Bartolucci, Silvia Pandolfi, Fulvia Pennoni, Alessio Farcomeni, Alessio Serafini

Examples

# draw a sample for 1000 units and only one response variable and 5 time occasions
k1 <- 2
k2 <- 3
la <- rep(1/k1, k1)
Piv <- matrix(1/k2, k2, k1)
Pi <- array(0, c(k2, k2, k1))
Pi[,,1] <- diag(k2)
Pi[,,2] <- 1/k2
Psi <- cbind(c(0.6,0.3,0.1), c(0.1,0.3,0.6), c(0.3,0.6,0.1))
out <- drawLMmixed(la, Piv, Pi, Psi, n = 1000, TT = 5)


## Not run: 
# Example based on criminal data

data(data_criminal_sim)
data_criminal_sim = data.frame(data_criminal_sim)
# Estimate mixed LM model for females

responsesFormula <- lmestFormula(data = data_criminal_sim,
                                  response = "y")$responsesFormula
est <- lmestMixed(responsesFormula = responsesFormula,
                  index = c("id","time"),
                  k1 = 2,
                  k2 = 2,
                  data = data_criminal_sim[data_criminal_sim$sex == 2,])

out <- drawLMmixed(est = est, n = 100,  seed = 4321)


## End(Not run)

LMest documentation built on Aug. 27, 2023, 5:06 p.m.