Learn R Programming

LMest (version 2.4.5)

draw_lm_cov_latent: Draw samples from LM model with covariaates in the latent model

Description

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

Usage

draw_lm_cov_latent(X1, X2, param = "multilogit", Psi, Be, Ga, fort = TRUE)

Arguments

X1

desing matrix for the covariates on the initial probabilities (n x nc1)

X2

desing matrix for the covariates on the transition probabilities (n x TT-1 x nc2)

param

type of parametrization for the transition probabilities ("multilogit" = standard multinomial logit for every row of the transition matrix, "difflogit" = multinomial logit based on the difference between two sets of parameters)

Psi

array of conditional response probabilities (mb x k x r)

Be

parameters affecting the logit for the initial probabilities

Ga

parametes affecting the logit for the transition probabilities

fort

to use fortran routine when possible (FALSE for not use fortran)

Value

Y

matrix of response configurations unit by unit (n x TT x r)

U

matrix containing the sequence of latent states (n x TT)

Examples

Run this code
# NOT RUN {
# draw a sample for 1000 units, 10 response variable and 2 covariates 
n=1000
TT = 5
k=2
nc = 2 #number of covariates
r = 10 #number of response variables
mb = 2 #maximum number of response categories
fort=TRUE


Psi  = matrix(c(0.9,0.1,0.1,0.9),mb,k)
Psi = array(Psi,c(mb,k,r))
Ga = matrix(c(-log(0.9/0.1),0.5,1),(nc+1)*(k-1),k)
Be = array(c(0,0.5,1),(nc+1)*(k-1))
#Simulate covariates
X1 = matrix(0,n,nc)
for(j in 1:nc) X1[,j]=rnorm(n)
X2 = array(0,c(n,TT-1,nc))
for (t in 1:(TT-1)) for(j in 1:nc){ 
	if(t==1){
		X2[,t,j] = 0.5*X1[,j]+rnorm(n)
	}else{
		X2[,t,j] = 0.5*X2[,t-1,j]+rnorm(n)
	}
}	 
	
out = draw_lm_cov_latent(X1,X2,Psi=Psi,Be=Be,Ga=Ga,fort=fort)
# }

Run the code above in your browser using DataLab