The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
This vignette shows examples for using tab_model()
to
create HTML tables for mixed models. Basically, tab_model()
behaves in a very similar way for mixed models as for other, simple
regression models, as shown in this
vignette.
# load required packages
library(sjPlot)
library(lme4)
data("sleepstudy")
data("efc")
efc$cluster <- as.factor(efc$e15relat)
Unlike tables for non-mixed
models, tab_models()
adds additional information on the
random effects to the table output for mixed models. You can hide these
information with show.icc = FALSE
and
show.re.var = FALSE
. Furthermore, the R-squared values are
marginal and conditional R-squared statistics, based on Nakagawa et
al. 2017.
m1 <- lmer(neg_c_7 ~ c160age + c161sex + e42dep + (1 | cluster), data = efc)
m2 <- lmer(Reaction ~ Days + (1 + Days | Subject), data = sleepstudy)
tab_model(m1, m2)
Negative impact with 7 items |
Reaction | |||||
---|---|---|---|---|---|---|
Predictors | Estimates | CI | p | Estimates | CI | p |
(Intercept) | 6.55 | 4.86 – 8.23 | <0.001 | 251.41 | 237.94 – 264.87 | <0.001 |
carer’age | -0.00 | -0.03 – 0.02 | 0.802 | |||
carer’s gender | 0.47 | -0.08 – 1.02 | 0.094 | |||
elder’s dependency | 1.45 | 1.19 – 1.71 | <0.001 | |||
Days | 10.47 | 7.42 – 13.52 | <0.001 | |||
Random Effects | ||||||
σ2 | 12.61 | 654.94 | ||||
τ00 | 0.50 cluster | 612.10 Subject | ||||
τ11 | 35.07 Subject.Days | |||||
ρ01 | 0.07 Subject | |||||
ICC | 0.04 | 0.72 | ||||
N | 8 cluster | 18 Subject | ||||
Observations | 888 | 180 | ||||
Marginal R2 / Conditional R2 | 0.127 / 0.160 | 0.279 / 0.799 |
The marginal R-squared considers only the variance of the fixed effects, while the conditional R-squared takes both the fixed and random effects into account.
The p-value is a simple approximation, based on the t-statistics and
using the normal distribution function. A more precise p-value can be
computed using p.val = "kr"
. In this case, which only
applies to linear mixed models, the computation of p-values is based on
conditional F-tests with Kenward-Roger approximation for the degrees of
freedom (using the using the pbkrtest-package). Note
that here the computation is more time consuming and thus not used as
default. You can also display the approximated degrees of freedom with
show.df
.
Negative impact with 7 items |
||||
---|---|---|---|---|
Predictors | Estimates | CI | p | df |
(Intercept) | 6.55 | 4.82 – 8.28 | <0.001 | 136.86 |
carer’age | -0.00 | -0.03 – 0.02 | 0.810 | 255.72 |
carer’s gender | 0.47 | -0.08 – 1.02 | 0.095 | 881.58 |
elder’s dependency | 1.45 | 1.19 – 1.71 | <0.001 | 883.58 |
Random Effects | ||||
σ2 | 12.61 | |||
τ00 cluster | 0.50 | |||
ICC | 0.04 | |||
N cluster | 8 | |||
Observations | 888 | |||
Marginal R2 / Conditional R2 | 0.127 / 0.160 |
tab_model()
can also print and combine models with
different link-functions.
data("efc")
efc$neg_c_7d <- ifelse(efc$neg_c_7 < median(efc$neg_c_7, na.rm = TRUE), 0, 1)
efc$cluster <- as.factor(efc$e15relat)
m3 <- glmer(
neg_c_7d ~ c160age + c161sex + e42dep + (1 | cluster),
data = efc,
family = binomial(link = "logit")
)
tab_model(m1, m3)
Negative impact with 7 items |
neg c 7 d | |||||
---|---|---|---|---|---|---|
Predictors | Estimates | CI | p | Odds Ratios | CI | p |
(Intercept) | 6.55 | 4.86 – 8.23 | <0.001 | 0.02 | 0.01 – 0.05 | <0.001 |
carer’age | -0.00 | -0.03 – 0.02 | 0.802 | 1.01 | 0.99 – 1.02 | 0.355 |
carer’s gender | 0.47 | -0.08 – 1.02 | 0.094 | 1.83 | 1.30 – 2.59 | 0.001 |
elder’s dependency | 1.45 | 1.19 – 1.71 | <0.001 | 2.37 | 1.99 – 2.81 | <0.001 |
Random Effects | ||||||
σ2 | 12.61 | 3.29 | ||||
τ00 | 0.50 cluster | 0.24 cluster | ||||
ICC | 0.04 | 0.07 | ||||
N | 8 cluster | 8 cluster | ||||
Observations | 888 | 888 | ||||
Marginal R2 / Conditional R2 | 0.127 / 0.160 | 0.181 / 0.237 |
Finally, an example from the glmmTMB-package to show how easy it is to print zero-inflated generalized linear mixed models as HTML table.
library(glmmTMB)
data("Salamanders")
m4 <- glmmTMB(
count ~ spp + mined + (1 | site),
ziformula = ~ spp + mined,
family = truncated_poisson(link = "log"),
data = Salamanders
)
tab_model(m1, m3, m4, show.ci = FALSE)
Negative impact with 7 items |
neg c 7 d | count | ||||
---|---|---|---|---|---|---|
Predictors | Estimates | p | Odds Ratios | p | Incidence Rate Ratios | p |
(Intercept) | 6.55 | <0.001 | 0.02 | <0.001 | 0.94 | 0.745 |
carer’age | -0.00 | 0.802 | 1.01 | 0.355 | ||
carer’s gender | 0.47 | 0.094 | 1.83 | 0.001 | ||
elder’s dependency | 1.45 | <0.001 | 2.37 | <0.001 | ||
spp: PR | 0.59 | 0.062 | ||||
spp: DM | 1.25 | 0.121 | ||||
spp: EC-A | 0.82 | 0.331 | ||||
spp: EC-L | 1.91 | <0.001 | ||||
spp: DES-L | 1.83 | <0.001 | ||||
spp: DF | 1.05 | 0.765 | ||||
mined: no | 2.76 | <0.001 | ||||
Zero-Inflated Model | ||||||
(Intercept) | 5.79 | <0.001 | ||||
spp: PR | 5.36 | <0.001 | ||||
spp: DM | 0.65 | 0.223 | ||||
spp: EC-A | 3.02 | 0.003 | ||||
spp: EC-L | 0.65 | 0.223 | ||||
spp: DES-L | 0.51 | 0.056 | ||||
spp: DF | 0.65 | 0.223 | ||||
mined: no | 0.09 | <0.001 | ||||
Random Effects | ||||||
σ2 | 12.61 | 3.29 | 0.29 | |||
τ00 | 0.50 cluster | 0.24 cluster | 0.05 site | |||
ICC | 0.04 | 0.07 | 0.15 | |||
N | 8 cluster | 8 cluster | 23 site | |||
Observations | 888 | 888 | 644 | |||
Marginal R2 / Conditional R2 | 0.127 / 0.160 | 0.181 / 0.237 | 0.541 / 0.612 |
Nakagawa S, Johnson P, Schielzeth H (2017) The coefficient of determination R2 and intra-class correlation coefficient from generalized linear mixed-effects models revisted and expanded. J. R. Soc. Interface 14. doi: 10.1098/rsif.2017.0213
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.