These methods tidy the coefficients of multinomial logistic regression models generated by multinom of the nnet package.

# S3 method for multinom
tidy(x, conf.int = FALSE, conf.level = 0.95,
  exponentiate = TRUE, ...)

Arguments

x

A multinom object returned from nnet::multinom().

conf.int

Logical indicating whether or not to include a confidence interval in the tidied output. Defaults to FALSE.

conf.level

The confidence level to use for the confidence interval if conf.int = TRUE. Must be strictly greater than 0 and less than 1. Defaults to 0.95, which corresponds to a 95 percent confidence interval.

exponentiate

Logical indicating whether or not to exponentiate the the coefficient estimates. This is typical for logistic and multinomial regressions, but a bad idea if there is no log or logit link. Defaults to FALSE.

...

Additional arguments. Not used. Needed to match generic signature only. Cautionary note: Misspelled arguments will be absorbed in ..., where they will be ignored. If the misspelled argument has a default value, the default value will be used. For example, if you pass conf.lvel = 0.9, all computation will proceed using conf.level = 0.95. Additionally, if you pass newdata = my_tibble to an augment() method that does not accept a newdata argument, it will use the default value for the data argument.

Value

tidy.multinom returns one row for each coefficient at each level of the response variable, with six columns:

y.value

The response level

term

The term in the model being estimated and tested

estimate

The estimated coefficient

std.error

The standard error from the linear model

statistic

Wald z-statistic

p.value

two-sided p-value

If conf.int = TRUE, also includes columns for conf.low and conf.high.

See also

tidy(), nnet::multinom()

Other multinom tidiers: glance.multinom

Examples

if (require(nnet) & require(MASS)){ library(nnet) library(MASS) example(birthwt) bwt.mu <- multinom(low ~ ., bwt) tidy(bwt.mu) glance(bwt.mu) #* This model is a truly terrible model #* but it should show you what the output looks #* like in a multinomial logistic regression fit.gear <- multinom(gear ~ mpg + factor(am), data = mtcars) tidy(fit.gear) glance(fit.gear) }
#> Loading required package: nnet
#> #> brthwt> bwt <- with(birthwt, { #> brthwt+ race <- factor(race, labels = c("white", "black", "other")) #> brthwt+ ptd <- factor(ptl > 0) #> brthwt+ ftv <- factor(ftv) #> brthwt+ levels(ftv)[-(1:2)] <- "2+" #> brthwt+ data.frame(low = factor(low), age, lwt, race, smoke = (smoke > 0), #> brthwt+ ptd, ht = (ht > 0), ui = (ui > 0), ftv) #> brthwt+ }) #> #> brthwt> options(contrasts = c("contr.treatment", "contr.poly")) #> #> brthwt> glm(low ~ ., binomial, bwt) #> #> Call: glm(formula = low ~ ., family = binomial, data = bwt) #> #> Coefficients: #> (Intercept) age lwt raceblack raceother smokeTRUE #> 0.82302 -0.03723 -0.01565 1.19241 0.74068 0.75553 #> ptdTRUE htTRUE uiTRUE ftv1 ftv2+ #> 1.34376 1.91317 0.68020 -0.43638 0.17901 #> #> Degrees of Freedom: 188 Total (i.e. Null); 178 Residual #> Null Deviance: 234.7 #> Residual Deviance: 195.5 AIC: 217.5 #> # weights: 12 (11 variable) #> initial value 131.004817 #> iter 10 value 98.029803 #> final value 97.737759 #> converged #> # weights: 12 (6 variable) #> initial value 35.155593 #> iter 10 value 14.156582 #> iter 20 value 14.031881 #> iter 30 value 14.025659 #> iter 40 value 14.021414 #> iter 50 value 14.019824 #> iter 60 value 14.019278 #> iter 70 value 14.018601 #> iter 80 value 14.018282 #> iter 80 value 14.018282 #> iter 90 value 14.017126 #> final value 14.015374 #> converged
#> # A tibble: 1 x 3 #> edf deviance AIC #> <dbl> <dbl> <dbl> #> 1 6 28.0 40.0