Learn R Programming

bayesm (version 3.0-2)

createX: Create X Matrix for Use in Multinomial Logit and Probit Routines

Description

createX makes up an X matrix in the form expected by Multinomial Logit (rmnlIndepMetrop and rhierMnlRwMixture) and Probit (rmnpGibbs and rmvpGibbs) routines. Requires an array of alternative specific variables and/or an array of "demographics" or variables constant across alternatives which may vary across choice occasions.

Usage

createX(p, na, nd, Xa, Xd, INT = TRUE, DIFF = FALSE, base = p)

Arguments

p

integer - number of choice alternatives

na

integer - number of alternative-specific vars in Xa

nd

integer - number of non-alternative specific vars

Xa

n x p*na matrix of alternative-specific vars

Xd

n x nd matrix of non-alternative specific vars

INT

logical flag for inclusion of intercepts

DIFF

logical flag for differencing wrt to base alternative

base

integer - index of base choice alternative

Value

X matrix -- n*(p-DIFF) x [(INT+nd)*(p-1) + na] matrix.

References

For further discussion, see Bayesian Statistics and Marketing by Rossi, Allenby and McCulloch. http://www.perossi.org/home/bsm-1

See Also

rmnlIndepMetrop, rmnpGibbs

Examples

Run this code
na=2; nd=1; p=3
vec=c(1,1.5,.5,2,3,1,3,4.5,1.5)
Xa=matrix(vec,byrow=TRUE,ncol=3)
Xa=cbind(Xa,-Xa)
Xd=matrix(c(-1,-2,-3),ncol=1)
createX(p=p,na=na,nd=nd,Xa=Xa,Xd=Xd)
createX(p=p,na=na,nd=nd,Xa=Xa,Xd=Xd,base=1)
createX(p=p,na=na,nd=nd,Xa=Xa,Xd=Xd,DIFF=TRUE)
createX(p=p,na=na,nd=nd,Xa=Xa,Xd=Xd,DIFF=TRUE,base=2)
createX(p=p,na=na,nd=NULL,Xa=Xa,Xd=NULL)
createX(p=p,na=NULL,nd=nd,Xa=NULL,Xd=Xd)

Run the code above in your browser using DataLab