library(tidyverse)
library(knitr)
library(broom)
library(skimr)
nhanes <- mice::nhanes2
nhanes
## age bmi hyp chl
## 1 20-39 NA <NA> NA
## 2 40-59 22.7 no 187
## 3 20-39 NA no 187
## 4 60-99 NA <NA> NA
## 5 20-39 20.4 no 113
## 6 60-99 NA <NA> 184
## 7 20-39 22.5 no 118
## 8 20-39 30.1 no 187
## 9 40-59 22.0 no 238
## 10 40-59 NA <NA> NA
## 11 20-39 NA <NA> NA
## 12 40-59 NA <NA> NA
## 13 60-99 21.7 no 206
## 14 40-59 28.7 yes 204
## 15 20-39 29.6 no NA
## 16 20-39 NA <NA> NA
## 17 60-99 27.2 yes 284
## 18 40-59 26.3 yes 199
## 19 20-39 35.3 no 218
## 20 60-99 25.5 yes NA
## 21 20-39 NA <NA> NA
## 22 20-39 33.2 no 229
## 23 20-39 27.5 no 131
## 24 60-99 24.9 no NA
## 25 40-59 27.4 no 186
library(nnet)
m <- multinom(age ~ bmi + hyp + chl, data = mice::nhanes2)
## # weights: 15 (8 variable)
## initial value 14.281960
## iter 10 value 4.305178
## iter 20 value 3.803287
## iter 30 value 3.487554
## iter 40 value 3.241432
## iter 50 value 2.782424
## iter 60 value 2.775229
## iter 70 value 2.653552
## iter 80 value 2.646572
## iter 90 value 2.574802
## iter 100 value 2.572907
## final value 2.572907
## stopped after 100 iterations
knitr::kable(tidy(m, conf.int = T),format = "markdown")
y.level | term | estimate | std.error | statistic | p.value | conf.low | conf.high |
---|---|---|---|---|---|---|---|
40-59 | (Intercept) | 2.659563e+23 | 1.4471141 | 37.272541 | 0.0000000 | 1.559641e+22 | 4.535196e+24 |
40-59 | bmi | 3.640000e-04 | 5.6516387 | -1.401096 | 0.1611854 | 0.000000e+00 | 2.353573e+01 |
40-59 | hypyes | 2.213278e+03 | 1.2615471 | 6.105384 | 0.0000000 | 1.867261e+02 | 2.623414e+04 |
40-59 | chl | 2.449175e+00 | 0.8347463 | 1.073082 | 0.2832344 | 4.769605e-01 | 1.257642e+01 |
60-99 | (Intercept) | 6.574010e+31 | 0.4127262 | 177.510570 | 0.0000000 | 2.927637e+31 | 1.476194e+32 |
60-99 | bmi | 9.320000e-05 | 5.7171151 | -1.623397 | 0.1045046 | 0.000000e+00 | 6.849616e+00 |
60-99 | hypyes | 7.679312e+05 | 1.2615489 | 10.741918 | 0.0000000 | 6.478731e+04 | 9.102375e+06 |
60-99 | chl | 2.565845e+00 | 0.8357393 | 1.127490 | 0.2595353 | 4.987097e-01 | 1.320119e+01 |
complete <- nhanes %>% drop_na()
m <- multinom(age ~ bmi + hyp + chl, data = complete)
## # weights: 15 (8 variable)
## initial value 14.281960
## iter 10 value 4.305178
## iter 20 value 3.803287
## iter 30 value 3.487554
## iter 40 value 3.241432
## iter 50 value 2.782424
## iter 60 value 2.775229
## iter 70 value 2.653552
## iter 80 value 2.646572
## iter 90 value 2.574802
## iter 100 value 2.572907
## final value 2.572907
## stopped after 100 iterations
knitr::kable(tidy(m, conf.int = T),format = "markdown")
y.level | term | estimate | std.error | statistic | p.value | conf.low | conf.high |
---|---|---|---|---|---|---|---|
40-59 | (Intercept) | 2.659563e+23 | 1.4471141 | 37.272541 | 0.0000000 | 1.559641e+22 | 4.535196e+24 |
40-59 | bmi | 3.640000e-04 | 5.6516387 | -1.401096 | 0.1611854 | 0.000000e+00 | 2.353573e+01 |
40-59 | hypyes | 2.213278e+03 | 1.2615471 | 6.105384 | 0.0000000 | 1.867261e+02 | 2.623414e+04 |
40-59 | chl | 2.449175e+00 | 0.8347463 | 1.073082 | 0.2832344 | 4.769605e-01 | 1.257642e+01 |
60-99 | (Intercept) | 6.574010e+31 | 0.4127262 | 177.510570 | 0.0000000 | 2.927637e+31 | 1.476194e+32 |
60-99 | bmi | 9.320000e-05 | 5.7171151 | -1.623397 | 0.1045046 | 0.000000e+00 | 6.849616e+00 |
60-99 | hypyes | 7.679312e+05 | 1.2615489 | 10.741918 | 0.0000000 | 6.478731e+04 | 9.102375e+06 |
60-99 | chl | 2.565845e+00 | 0.8357393 | 1.127490 | 0.2595353 | 4.987097e-01 | 1.320119e+01 |
Single imputation
Indicator variables