mlogit (version 1.0-1)

mlogit.data: data.frame for logit model

Description

shape a data.frame in a suitable form for the use of the mlogit function.

Usage

mlogit.data(data, choice = NULL, shape = c("long", "wide"),
  varying = NULL, sep = ".", alt.var = NULL, chid.var = NULL,
  alt.levels = NULL, id.var = NULL, group.var = NULL,
  opposite = NULL, drop.index = FALSE, ranked = FALSE,
  subset = NULL, ...)

# S3 method for mlogit.data print(x, ...)

# S3 method for mlogit.data index(x, ...)

# S3 method for mlogit.data [(x, i, j, drop = TRUE)

# S3 method for mlogit.data [[(x, y)

# S3 method for mlogit.data $(x, y)

# S3 method for mlogit.data $(object, y) <- value

# S3 method for mlogit.data [[(object, y) <- value

# S3 method for mlogit.data mean(x, ...)

Arguments

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.var

the name of the variable that contains the individual index if any,

group.var

the name of the variable that contains the group index if any,

opposite

returns the opposite of the specified variables,

drop.index

should the index variables be dropped from the data.frame,

ranked

a logical value which is true if the response is a rank,

subset

a logical expression which defines the subset of observations to be selected,

...

further arguments passed to reshape.

x, object

a mlogit.data or a pseries object,

i

the rows to extract,

j

the columns to extract,

drop

a boolean, equal to FALSE if one wants that a data.frame is always returned,

y

the column of the data.frame to extract or to replace,

value

the replacement value,

Value

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) and of the alternative groups (group). The choice variable is a boolean which indicates the choice made. This function use stats::reshape() if the data.frame is in wide format.

See Also

stats::reshape()

Examples

Run this code
# NOT RUN {
# 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 = "mlogit")
Train <- mlogit.data(Train, choice = "choice", shape = "wide",
                     varying = 4:11, alt.levels = c("A", "B"), sep = "_",
                     opposite = c("price", "time", "change", "comfort"))

data("HC", package = "mlogit")
HC <- mlogit.data(HC, choice = "depvar", varying=c(2:8, 10:16), shape="wide")

# Game is a data.frame in wide format for which the response is a
#  ranking variable

data("Game", package = "mlogit")
G <- mlogit.data(Game, shape="wide", varying = 1:12, alt.var = 'platform',
                 drop.index = TRUE, choice="ch", ranked =TRUE)

# Game2 contains the same data, but in long format 
data("Game2", package = "mlogit")
G2 <- mlogit.data(Game2,  shape='long', choice="ch", alt.var = 'platform', ranked = TRUE)
# }

Run the code above in your browser using DataCamp Workspace