如何使用 rmarkdown 和 kableExtra 删除具有折叠行的表的第一列名称

问题描述 投票:0回答:1

我正在制作一个包含折叠行和打包行组合的表格。我想删除列中第一个名称,但是当我这样做时,kable 会删除折叠。

有什么想法吗?

这里有一个具有相同错误的可重现示例代码:

library(tidyverse)
library(kableExtra)

data("iris") 

Tbl <- iris %>% 
  pivot_longer(cols = c(Sepal.Length, Sepal.Width, Petal.Length, Petal.Width)) %>% 
  separate(name, sep = 5, into = c("Flower_part", "Measure")) %>% 
  group_by(Species, Flower_part, Measure) %>% 
  summarise(Mean = mean(value),
            SD = sd(value)) 

#Table with colapsed rows and the name of column
Tbl %>% 
  ungroup() %>% 
  select(-Species) %>% 
  kbl(digits = 3) %>%
  kable_classic("striped", full_width = T) %>% 
  collapse_rows(columns = 1, valign = "top") %>% 
  pack_rows(index = table(Tbl$Species), indent = FALSE)

#Table with a "blank" name with the collapsing not working.
Tbl %>% 
  ungroup() %>% 
  select(-Species) %>% 
  rename(" " = "Flower_part") %>%
  kbl(digits = 3) %>%
  kable_classic("striped", full_width = T) %>% 
  collapse_rows(columns = 1, valign = "top") %>% 
  pack_rows(index = table(Tbl$Species), indent = FALSE)

r r-markdown kable kableextra
1个回答
0
投票

您可以使用unicode:

Tbl %>% 
  ungroup() %>% 
  select(-Species) %>% 
  rename("\U00A0" = "Flower_part") %>%
  kbl(digits = 3) %>%
  kable_classic("striped", full_width = T) %>% 
  collapse_rows(columns = 1, valign = "top") %>% 
  pack_rows(index = table(Tbl$Species), indent = FALSE)

© www.soinside.com 2019 - 2024. All rights reserved.