Learn R Programming

bayesm (version 1.1-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-alternive 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.

concept

  • multinomial logit
  • multinomial probit

References

For further discussion, see Bayesian Statistics and Marketing by Allenby, McCulloch, and Rossi. http://gsbwww.uchicago.edu/fac/peter.rossi/research/bsm.html

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