在 R 中生成 HTML table:Column.labels 或 dep.var.caption 在 stargazer 数据帧的 table 上

Produce HTML table in R: Column.labels or dep.var.caption on table of data frame in stargazer

我有一个有效存储回归结果的数据框,相关值作为列,变量作为行(每个存储在名称中)。它看起来像这样:

a <- c(3, 0.5, 0.010, 4, 0.3, 0.271)
b <- c(10, 0.9, 0.021, 8, 0.5, 0.063)
temp <- data.frame(rbind(b, a))
colnames(temp) <- c("Coef", "SE", "p-value", "Coef", "SE", "p-value")
rownames(temp) <- c("alpha", "bravo")

使用 stargazer,我想创建一个 HTML table 来呈现此信息并允许我将前三列标识为治疗 1 的结果和第二个三个作为治疗 2 的结果。table 看起来像这样:

table <- stargazer(temp, type="html", summary=F)

我遇到的问题是我不知道如何为 T1 和 T2 添加这些标识符。我首先尝试将 column.labelscolumn.separate 结合使用,但后来了解到这些方法仅在使用 stargazer 进行实际回归输出而不仅仅是普通数据框时才有效。像 dep.var.caption 这样的东西实际上更可取(我喜欢分隔这个标识符和列标题的线),但我认为它也只适用于纯回归输出,即使我仍然找不到分开的方法每个跨越多列的。

关于如何使这项工作或找到解决方法的任何想法?

我现在不太了解 stargazer,但强烈建议在 R 中使用 HTML/Latex tables 时使用 kableExtra。

使用kableExtra的解决方案:

生成示例数据:

a <- c(3, 0.5, 0.010, 4, 0.3, 0.271)
b <- c(10, 0.9, 0.021, 8, 0.5, 0.063)
temp <- data.frame(rbind(b, a))
colnames(temp) <- c("Coef", "SE", "p-value", "Coef", "SE", "p-value")
temp

  Coef  SE p-value Coef  SE p-value
b   10 0.9   0.021    8 0.5   0.063
a    3 0.5   0.010    4 0.3   0.271

生成 HTML table:

library(knitr)
library(kableExtra)
kable(temp, format = "html", 
      row.names = FALSE,
      caption = "Way better than stargazer") %>%
    kable_styling(bootstrap_options = "striped",
                  full_width = TRUE) %>%
    add_header_above(c("alpha" = 3, "bravo" = 3))