使用 kableExtra 的多个分组变量

Multiple grouping variables using kableExtra

我有以下数据集:

tab <- tibble(year = c(2017,2017,2017,2018,2018,2018) 
              mth  = c("Apr", "Apr", "Jun", "Jul", "Jul", "Sep"),
              var1 = 1:6,
              var2 = 10:15)

是否可以使用 kableExtra 生成此数据的 table,其中有两个分组变量,yearmonth?这将给出:

        var1 var2
2017
    Apr   
          1   10
          2   11
    Jun   
          3   12
2018
    Jul
          4   13
          5   14
    Sep   
          6   15

我试过:

kable(tab[,3:4]) %>% pack_rows(index = table(year$Month, tab$mth))

它适用于一个分组变量,但它不适用于两个分组变量。

This 教程中有很好的示例并说明了如何执行此操作。

library(dplyr)
library(kableExtra)

kable(tab, align = "c", col.names = c("","",names(tab)[3:4])) %>%
  kable_styling(full_width = F) %>%
  column_spec(1, bold = T) %>%
  collapse_rows(columns = 1:2, valign = "top")