The function mblogit fits baseline-category logit models for categorical
and multinomial count responses with fixed alternatives.
mblogit(
formula,
data = parent.frame(),
random = NULL,
catCov = c("free", "diagonal", "single"),
subset,
weights = NULL,
offset = NULL,
na.action = getOption("na.action"),
model = TRUE,
x = FALSE,
y = TRUE,
contrasts = NULL,
method = NULL,
estimator = c("ML", "REML"),
dispersion = FALSE,
start = NULL,
aggregate = FALSE,
groups = NULL,
from.table = FALSE,
control = if (length(random)) mmclogit.control(...) else mclogit.control(...),
...
)mblogit returns an object of class "mblogit", which has almost
the same structure as an object of class "glm". The
difference are the components coefficients, residuals,
fitted.values, linear.predictors, and y, which are
matrices with number of columns equal to the number of response
categories minus one.
the model formula. The response must be a factor or a matrix of counts.
an optional data frame, list or environment (or object coercible
by as.data.frame to a data frame) containing the variables
in the model. If not found in data, the variables are taken from
environment(formula), typically the environment from which
glm is called.
an optional formula or list of formulas that specify the random-effects structure or NULL.
a character string that specifies optional restrictions on the covariances of random effects between the logit equations. "free" means no restrictions, "diagonal" means that random effects pertinent to different categories are uncorrelated, while "single" means that the random effect variances pertinent to all categories are identical.
an optional vector specifying a subset of observations to be used in the fitting process.
an optional vector of weights to be used in the fitting
process. Should be NULL or a numeric vector.
an optional model offset. If not NULL, must be a matrix if as many columns as the response has categories or one less.
a function which indicates what should happen when the data
contain NAs. The default is set by the na.action setting
of options, and is na.fail if that is unset.
The ‘factory-fresh’ default is na.omit. Another
possible value is NULL, no action. Value na.exclude
can be useful.
a logical value indicating whether model frame should be included as a component of the returned value.
logical values indicating whether the response vector and model matrix used in the fitting process should be returned as components of the returned value.
an optional list. See the contrasts.arg of
model.matrix.default.
NULL or a character string, either "PQL" or "MQL",
specifies the type of the quasilikelihood approximation to be used if a
random-effects model is to be estimated.
a character string; either "ML" or "REML", specifies which estimator is to be used/approximated.
a logical value or a character string; whether and how a
dispersion parameter should be estimated. For details see
dispersion.
an optional matrix of starting values (with as many rows
as logit equations). If the model has random effects, the matrix
should have a "VarCov" attribute wtih starting values for
the random effects (co-)variances. If the random effects model
is estimated with the "PQL" method, the starting values matrix
should also have a "random.effects" attribute, which should have
the same structure as the "random.effects" component of an object
returned by mblogit().
a logical value; whether to aggregate responses by covariate classes and groups before estimating the model if the response variable is a factor.
This will not affect the estimates, but the dispersion and the
residual degrees of freedom. If aggregate=TRUE, the
dispersion will be relative to a saturated model; it will be much
smaller than with aggregate=TRUE. In particular, with only
a single covariate and no grouping, the deviance will be close to
zero. If dispersion is not FALSE, then the
default value of aggregate will be TRUE. For details see
dispersion.
This argument has consequences only if the response in formula
is a factor.
an optional formula that specifies groups of observations
relevant for the estimation of overdispersion. For details see
dispersion.
a logical value; should be FALSE. This argument only exists for the sake of compatibility and will be removed in the next relase.
a list of parameters for the fitting process. See
mclogit.control
arguments to be passed to mclogit.control or
mmclogit.control
The function mblogit internally rearranges the data into a
'long' format and uses mclogit.fit to compute
estimates. Nevertheless, the 'user data' are unaffected.
Agresti, Alan. 2002. Categorical Data Analysis. 2nd ed, Hoboken, NJ: Wiley. tools:::Rd_expr_doi("10.1002/0471249688")
Breslow, N.E. and D.G. Clayton. 1993. "Approximate Inference in Generalized Linear Mixed Models". Journal of the American Statistical Association 88 (421): 9-25. tools:::Rd_expr_doi("10.1080/01621459.1993.10594284")
The function multinom in package nnet also
fits multinomial baseline-category logit models, but has a slightly less
convenient output and does not support overdispersion or random
effects. However, it provides some other options. Baseline-category logit
models are also supported by the package VGAM, as well as some
reduced-rank and (semi-parametric) additive generalisations. The package
mnlogit estimates logit models in a way optimized for large numbers
of alternatives.
library(MASS) # For 'housing' data
library(nnet)
library(memisc)
(house.mult<- multinom(Sat ~ Infl + Type + Cont, weights = Freq,
data = housing))
(house.mblogit <- mblogit(Sat ~ Infl + Type + Cont, weights = Freq,
data = housing))
summary(house.mult)
summary(house.mblogit)
mtable(house.mblogit)
Run the code above in your browser using DataLab