如何在KableExtra中拆分表,从而得到两个对齐的表,而不是一个巨大的表

如何在KableExtra中拆分表,从而得到两个对齐的表,而不是一个巨大的表,r,knitr,kableextra,R,Knitr,Kableextra,我有一张巨大的桌子,其标题是“Gênero”、“IDH”、“Religião”、“Nível educational”e“Voto 2018-2ºturno”。因为它太大了,我想拆分表,这样最后两列就可以在下面创建一个新的对齐表。然后我只想下载一个图像,其中两个表都在那里 我首先尝试了“过滤器”,但它创建了一个非常重复的代码,我还得到了两个图像。下载后,很难手动对齐两个表 我的数据帧是: my_data <- data.frame(" " = c("A fav

我有一张巨大的桌子,其标题是“Gênero”、“IDH”、“Religião”、“Nível educational”e“Voto 2018-2ºturno”。因为它太大了,我想拆分表,这样最后两列就可以在下面创建一个新的对齐表。然后我只想下载一个图像,其中两个表都在那里

我首先尝试了“过滤器”,但它创建了一个非常重复的代码,我还得到了两个图像。下载后,很难手动对齐两个表

我的数据帧是:

my_data <- data.frame(" " = c("A favor", "Contra", "Não sei"),
                  "Gênero_Mulher" = c(56, 42, 2), 
                  "Gênero_Homem" = c(52, 43, 5), 
                  "IDH_Baixo" = c(67, 31, 2), 
                  "IDH_Médio" = c(44, 52, 4), 
                  "IDH_Alto" = c(54, 42, 4), 
                  "Religião_Outra religião" = c(66, 31, 2), 
                  "Religião_Católico" = c(57, 39, 3), 
                  "Religião_Agnóstico ou ateu" = c(50, 44, 5), 
                  "Religião_Evangélico" = c(21, 75, 4), 
                  "Nível educacional_Ensino Médio" = c(53, 44, 3), 
                  "Nível educacional_Ensino Superior" = c(54, 41, 4), 
                  "Nível educacional_Ensino Fundamental" = c(72, 28, 0), 
                  "Voto 2018 - 2º turno_Jair Bolsonaro" = c(29, 68, 4), 
                  "Voto 2018 - 2º turno_Fernando Haddad" = c(85, 10, 4), 
                  "Voto 2018 - 2º turno_Votei branco ou nulo" = c(86, 13, 0), 
                  "Voto 2018 - 2º turno_Não compareci para votar" = c(55, 40, 5))
my_数据%
列规格(1:ncol(我的数据),color=“black”,width=“8em”,包括,
extra_css=“边框底部:1px纯黑;边框顶部:1px纯黑;
右边框:1px纯黑色;垂直对齐:中间;“”%>%
列规格(1,粗体=T,宽度=15em),包括,
extra_css=“左边框:1px纯黑;”)
它生成了一个大表:

它应该类似于这样:

cols_1 <- sub("(.*?)_(.*)", "\\2", names(my_data)) # grab everything after the _
grps_1 <- sub("(.*?)_(.*)", "\\1", names(my_data)) # grab everything before the _

# generating table
t <- my_data %>%
  kable(col.names = cols_1, align = "c") %>%
  kable_styling(full_width = F, font_size = 11) %>%
  add_header_above(table(grps_1)[unique(grps_1)], color = "black", 
                   bold = F, 
                   font_size = 13, 
                   line = F,
                   extra_css = "border-bottom:1px solid black;
                   border-right:1px solid black;
                   border-top:1px solid black;
                   border-left:1px solid black;") %>%
  column_spec(1:ncol(my_data), color = "black", width = "8em", include_thead = T,
              extra_css = "border-bottom:1px solid black; border-top:1px solid black;
              border-right:1px solid black; vertical-align: middle;") %>%
  column_spec(1, bold = T, width = "15em", include_thead = F, 
              extra_css = "border-left:1px solid black;")