mlogit.data {mlogit} | R Documentation |
shape a data.frame
in a suitable form for the use of the mlogit
function.
mlogit.data(data, choice, shape = c("wide","long"), varying = NULL, sep=".",alt.var = NULL, chid.var = NULL, alt.levels = NULL, id = NULL, opposite = NULL, drop.index = FALSE, ...)
data |
a data.frame , |
choice |
the variable indicating the choice made: it can be either a logical vector, a numerical vector with 0 where the alternative is not chosen, a factor with level 'yes' when the alternative is chosen |
shape |
the shape of the data.frame : whether long if each
row is an alternative or wide if each row is an observation, |
varying |
the indexes of the variables that are alternative specific, |
sep |
the seperator of the variable name and the alternative name
(only relevant for a wide data.frame ), |
alt.var |
the name of the variable that contains the alternative
index (for a long data.frame only) or the name under which the
alternative index will be stored (the default name is alt ), |
chid.var |
the name of the variable that contains the choice index or the name under which the choice index will be stored, |
alt.levels |
the name of the alternatives: if null, for
a wide data.frame, they are guessed from the variable names and
the choice variable (both should be the same), for a long
data.frame , they are guessed from the alt.var argument, |
id |
the name of the variable that contains the individual index if any, |
opposite |
returns the opposite of the specified variables, |
drop.index |
should the index variables be dropped from the
data.frame , |
... |
further arguments passed to reshape . |
A mlogit.data
object, which is a data.frame
in
long
format, i.e. one line for each alternative. It has
a index
attribute, which is a data.frame
that contains
the index of the choice made ('chid'
), the index of the
alternative ('alt'
) and, if any, the index of the individual
('id'
). The choice variable is a boolean which indicates the
choice made. This function use reshape
if the data.frame
is in wide
format.
Yves Croissant
reshape
# ModeChoice is a long data.frame data("TravelMode", package = "AER") TM <- mlogit.data(TravelMode, choice = "choice", shape = "long", alt.levels = c("air", "train", "bus", "car")) # Same but the alt variable called mode is provided TM <- mlogit.data(TravelMode ,choice = "choice", shape = "long", alt.var = "mode") # Same but the chid variable called individual is provided TM <- mlogit.data(TravelMode, choice = "choice", shape = "long", id.var = "individual", alt.levels = c("air", "train", "bus", "car")) # Same but with two own provided variables TM <- mlogit.data(TravelMode, choice = "choice", shape = "long", id.var = "individual", alt.var = "mode") # Same but with two own provided variables which are deleted from the data.frame TM <- mlogit.data(TravelMode, choice = "choice", shape = "long", id.var = "individual", alt.var = "mode", drop.index = TRUE) # Train is a wide data.frame with columns 'choiceid' is the choice # index, the alternatives are named "ch1" and "ch2", the opposite of # the variables is returned data("Train", package = "Ecdat") Train <- mlogit.data(Train, choice = "choice", shape = "wide", varying = 4:11, alt.levels = c("ch1", "ch2"), sep = "", opposite = c("price", "time", "change", "comfort")) # Car is a wide data.frame data("Car", package = "mlogit") Car <- mlogit.data(Car, varying = 5:70, shape = "wide", sep = "", choice = "choice", alt.levels = 1:6) data("HC", package = "mlogit") HC <- mlogit.data(HC, choice = "depvar", varying=c(2:8, 10:16), shape="wide")