mnlChange {DAMisc} | R Documentation |
For objects of class multinom
, it calculates the change in predicted
probabilities, for maximal discrete changes in all covariates holding all
other variables constant at typical values.
mnlChange(
obj,
data,
typical.dat = NULL,
diffchange = c("range", "sd", "unit"),
n = 1,
sim = TRUE,
R = 1500
)
obj |
A model object of class |
data |
Data frame used to fit |
typical.dat |
Data frame with a single row containing values at which
to hold variables constant when calculating first differences. These values
will be passed to |
diffchange |
A string indicating the difference in predictor values to
calculate the discrete change. |
n |
Number of |
sim |
Logical indicating whether simulated confidence bounds should be produced. |
R |
Number of simulations to perform if |
The function calculates the changes in predicted probabilities for maximal
discrete changes in the covariates for objects of class multinom
.
This function works with polynomials specified with the poly
function. It also works with multiplicative interactions of the covariates
by virtue of the fact that it holds all other variables at typical values.
By default, typical values are the median for quantitative variables and the
mode for factors. The way the function works with factors is a bit
different. The function identifies the two most different levels of the
factor and calculates the change in predictions for a change from the level
with the smallest prediction to the level with the largest prediction.
A list with the following elements:
diffs |
A matrix of calculated first differences |
minmax |
A matrix of values that were used to calculate the predicted changes |
minPred |
A matrix of predicted probabilities when each variable is held at its minimum value, in turn. |
maxPred |
A matrix of predicted probabilities when each variable is held at its maximum value, in turn. |
Dave Armstrong
library(nnet)
data(france)
mnl.mod <- multinom(vote ~ age + male + retnat + lrself, data=france)
typical.france <- data.frame(
age = 35,
retnat = factor(1, levels=1:3, labels=levels(france$retnat)),
stringsAsFactors=TRUE)
mnlChange(mnl.mod, data=france, typical.dat=typical.france)