R gt table 格式:我怎样才能把我的长 gt table 变宽?

R gt table formatting: How can I take my long gt table and make it wide?

我想采用 gt() table 并将其按组级别转换为“宽”格式而不是“长”格式。因此,作为使用 iris 数据集的示例:

library(dplyr)  
library(gt)  
iris %>%   
group_by(Species) %>%   
slice_max(Sepal.Length, n=5) %>%  
group_by(Species) %>%  
gt() 

这会产生:

然而,我想要制作的是:

有办法吗?

我们可以结合使用数据整形和 gt 格式化功能来完成此操作。我还重新格式化了列名称以删除句点并将它们放在标题中。

library(tidyverse)  
library(gt)  

iris %>%   
  group_by(Species) %>%   
  slice_max(Sepal.Length, n=5) %>%   
  group_by(Species) %>% 
  mutate(row=row_number()) %>% 
  pivot_longer(-c(Species, row)) %>%
  mutate(Species = str_to_title(Species),
         name = gsub("\.", " ", name)) %>% 
  pivot_wider(names_from=c(Species, name), values_from=value) %>% 
  select(-row) %>% 
  gt() %>% 
  tab_spanner_delim(
      delim="_"
  ) %>% 
  fmt_missing(
    columns=everything(),
    missing_text=""
  )