0
models <- list(
"Linear" = lm(outcome ~ week * food data = df ),
"Bayesian" = brm(outcome ~ s(week, k = 4, fx = TRUE, by = food) + food, data = df, family = "zero_one_inflated_beta")
)

The following code works when I run it

modelsummary(models,
             estimate = "{estimate}[{conf.low}, {conf.high}]",
             statistic = NULL)

The problem is that when I attempt to also get the p-value, t-value and standard error of the linear model with the following code, the error comes up as Error: std.error is not available. The estimate and statistic arguments must correspond to column names in the output of this command: get_estimates(model)

modelsummary(models,
             estimate = "estimate[{conf.low}, {conf.high}]",
             statistic = c("Std.Error" = "std.error", 
                           "t-value" = "statistic", 
                           "p-value" = "p.value"))

How can I enable modelsummary() to ignore the display of statistics when there is none like in the case of the brms model instead of throwing an error?

nerd
  • 473
  • 5
  • 15

1 Answers1

2

This is a common use-case which is not well supported in the CRAN version of modelsummary. Instead of suggesting a complicated hack, I pushed a change to the development version which makes this much easier. You can install it now with:

remotes::install_github("vincentarelbundock/modelsummary")

Restart R completely for the changes to take effect.

Then, you can do things like:

library(brms)
library(modelsummary)

mod1 <- lm(mpg ~ hp + qsec, data = mtcars)
mod2 <- brm(mpg ~ hp + qsec, data = mtcars)
models <- list(mod1, mod2)

modelsummary(
    models,
    statistic = c("std.error", "conf.int"),
    # clean-up coefficient names
    coef_rename = \(x) gsub("b_", "", x),
    coef_omit = "Intercept")
(1) (2)
hp -0.085 -0.084
(0.014)
[-0.113, -0.056] [-0.112, -0.055]
qsec -0.887 -0.867
(0.535)
[-1.980, 0.207] [-1.944, 0.239]
sigma 3.815
[3.000, 4.991]
Num.Obs. 32 32
R2 0.637 0.631
R2 Adj. 0.612 0.553
AIC 180.3
BIC 186.2
Log.Lik. -86.170
F 25.431
ELPD -91.1
ELPD s.e. 4.9
LOOIC 182.3
LOOIC s.e. 9.8
WAIC 181.9
RMSE 3.57 3.57
Vincent
  • 15,809
  • 7
  • 37
  • 39