Multinomial Logistic Regression
Multinomial Logistic Regression
Example usage
data('birthwt', package='MASS')
dat <- data.frame(
race = factor(birthwt$race),
age = birthwt$age,
low = factor(birthwt$low))
logRegMulti(data = dat, dep = race,
covs = age, factors = low,
blocks = list(list("age", "low")),
refLevels = list(
list(var="race", ref="1"),
list(var="low", ref="0")))
#
# MULTINOMIAL LOGISTIC REGRESSION
#
# Model Fit Measures
# ──────────────────────────────────────
# Model Deviance AIC R²-McF
# ──────────────────────────────────────
# 1 360 372 0.0333
# ──────────────────────────────────────
#
#
# MODEL SPECIFIC RESULTS
#
# MODEL 1
#
# Model Coefficients
# ───────────────────────────────────────────────────────────────
# race Predictor Estimate SE Z p
# ───────────────────────────────────────────────────────────────
# 2 - 1 Intercept 0.8155 1.1186 0.729 0.466
# age -0.1038 0.0487 -2.131 0.033
# low:
# 1 – 0 0.7527 0.4700 1.601 0.109
# 3 - 1 Intercept 1.0123 0.7798 1.298 0.194
# age -0.0663 0.0324 -2.047 0.041
# low:
# 1 – 0 0.5677 0.3522 1.612 0.107
# ───────────────────────────────────────────────────────────────
#
#
Arguments
data | the data as a data frame |
dep | a string naming the dependent variable from data, variable must be a factor |
covs | a vector of strings naming the covariates from data |
factors | a vector of strings naming the fixed factors from data |
blocks | a list containing vectors of strings that name the predictors that are added to the model. The elements are added to the model according to their order in the list |
refLevels | a list of lists specifying reference levels of the dependent variable and all the factors |
modelTest | TRUE or FALSE (default), provide the model comparison between the models and the NULL model |
dev | TRUE (default) or FALSE, provide the deviance (or -2LogLikelihood) for the models |
aic | TRUE (default) or FALSE, provide Aikaike's Information Criterion (AIC) for the models |
bic | TRUE or FALSE (default), provide Bayesian Information Criterion (BIC) for the models |
pseudoR2 | one or more of 'r2mf', 'r2cs', or 'r2n'; use McFadden's, Cox & Snell, and Nagelkerke pseudo-R², respectively |
omni | TRUE or FALSE (default), provide the omnibus likelihood ratio tests for the predictors |
ci | TRUE or FALSE (default), provide a confidence interval for the model coefficient estimates |
ciWidth | a number between 50 and 99.9 (default: 95) specifying the confidence interval width |
OR | TRUE or FALSE (default), provide the exponential of the log-odds ratio estimate, or the odds ratio estimate |
ciOR | TRUE or FALSE (default), provide a confidence interval for the model coefficient odds ratio estimates |
ciWidthOR | a number between 50 and 99.9 (default: 95) specifying the confidence interval width |
emMeans | a list of lists specifying the variables for which the estimated marginal means need to be calculate. Supports up to three variables per term. |
ciEmm | TRUE (default) or FALSE, provide a confidence interval for the estimated marginal means |
ciWidthEmm | a number between 50 and 99.9 (default: 95) specifying the confidence interval width for the estimated marginal means |
emmPlots | TRUE (default) or FALSE, provide estimated marginal means plots |
emmTables | TRUE or FALSE (default), provide estimated marginal means tables |
emmWeights | TRUE (default) or FALSE, weigh each cell equally or weigh them according to the cell frequency |
Returns
A results object containing:
results$modelFit | a table |
results$modelComp | a table |
results$models | an array of groups |
Tables can be converted to data frames with asDF or as.data.frame(). For example:
results$modelFit$asDF
as.data.frame(results$modelFit)
Elements in arrays can be accessed with [[n]]. For example:
results$models[[1]] # accesses the first element