【发布时间】:2021-09-26 15:51:54
【问题描述】:
我正在尝试创建一个回归表,其中包含两个面板重叠但不完全相同的因变量。对于每个面板,我想要一个标题来指示每个面板的名称以及每个回归的因变量。
# rm(list = ls())
data("mtcars")
# Regressions for panel 1
reg1 <- lm(mpg ~ cyl + disp, data = mtcars)
reg2 <- lm(cyl ~ cyl + disp, data = mtcars)
# Regressions for panel 2
reg3 <- lm(mpg ~ hp + drat, data = mtcars)
reg4 <- lm(cyl ~ hp + drat, data = mtcars)
reg5 <- lm(disp ~ hp + qsec, data = mtcars)
# Panel 1 output
panel1 <- stargazer::stargazer(
reg1, reg2,
float = TRUE,
header = FALSE,
model.numbers = FALSE,
omit.table.layout = "n",
multicolumn = FALSE,
dep.var.caption = "",
type = "latex",
align = TRUE,
digits = 2,
df = FALSE,
digits.extra = 2,
nobs = TRUE,
omit.stat = c("rsq", "adj.rsq", "ser")
)
# Panel 2 output
panel2 <-
stargazer::stargazer(
reg3, reg4, reg5,
float = TRUE,
header = FALSE,
model.numbers = FALSE,
omit.table.layout = "n",
multicolumn = FALSE,
dep.var.caption = "",
type = "latex",
align = TRUE,
digits = 2,
df = FALSE,
digits.extra = 2,
nobs = TRUE,
omit.stat = c("rsq", "adj.rsq", "ser")
)
# Plot panels together
table <-
starpolishr::star_panel(
panel1,
panel2,
panel.names = c(
"Panel 1",
"Panel 2"
),
same.summary.stats = FALSE,
same.lhs.vars = FALSE )
# Save as a .tex file
starpolishr::star_tex_write(
starlist = table,
file = paste0(here::here(), "/panel_mwes.tex"),
headers = FALSE
)
我需要改变的是1)将“面板A:面板1”移动到因变量名称上方;和 2) 在“面板 B:面板 2”下方添加因变量名称。有没有什么好的方法来实现这一点(在 stargazer/starpolishr 或其他方式)而不是超级hacky?
【问题讨论】:
-
请不要在您的代码中添加 never ever
rm(list = ls())。如果有人运行您的代码,可能会发生大量数据丢失。 -
@Martin Gal,感谢收看,我忘记评论了。
-
这两个表是否需要垂直连接成一个表,或者将它们作为两个单独的表或水平连接是否可以?如果是后者,
texreg中的custom.header参数会满足您的要求吗?见here。 -
感谢@PhilipLeifeld -- 不幸的是,这些面板需要垂直连接。
标签: r tex stargazer xtable texreg