I ran several linear regressions and obtained comparisons from the avg_comparisons
function of the marginaleffects
package and then form it with the shape = term : contrast ~ model
option parameters of the modelsummary
package to concatenate the term and contrast. This results in the desired first part of the table. Now I wanted to make two panels and stacked them.
With standard regressions this works very fine with the shape = "rbind"
function, but not when I need to concatenate term and contrast before.
Is there a way in the syntax of the shape
option that allows to combine this two different behaviors? Or is there another way of achieving the stacking of the panels?
I ran the following code to produce the comparisons
vars <- c("var1", "var2", "var3")
panel1 <- vars %>%
paste(., "~ Treatment") %>%
map(as.formula) %>%
map(lm, data = df) %>%
map(avg_comparisons, variables = "Treatment", vcov = "hc1")
modelsummary(panel1, shape = term : contrast ~ model)
this produced the desired outcome for one panel. Then I tried to add another panel
vars <- c("var4", "var5")
panel2 <- vars2 %>%
paste(., "~ Treatment") %>%
map(as.formula) %>%
map(lm, data = df) %>%
map(avg_comparisons, variables = "Treatment", vcov = "hc1")
panels(list(panel1, panel2))
modelsummary(panels, shape = term : contrast ~ model)
This produced an error, as modelsummary
does not accept the inputs as list, when shape
is not "rbind".
Unfortunately, I can't think of a completely automatic way to do this right now. What you could do is proceed in steps: Create an intermediate representation in
modelsummary_list
format, combine the labels, and feed the result back tomodelsummary
. Example: