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, id.var = NULL, alt.levels = NULL, opposite = NULL, ...)
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 ), |
id.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, |
opposite |
returns the opposite of the specified variables, |
... |
further arguments passed to reshape . |
A data.frame
in long
format, i.e. one line for
each alternative. The first two columns contain the choice index and
the alternative index. 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") # 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"), opposite=c("price","time","change","comfort"), sep="") # Car is a wide data.frame, indexes names are provided data("Car",package="Ecdat") Car <- mlogit.data(Car,varying=5:70,shape="wide",sep="",choice="choice", id.var="Mr",alt.var="Car",alt.levels=1:6)