更改gt表中的行组标签(带有上标/下标和换行符).自定义r中的行组标签



我有以下数据和表:

library(gt)
library(dplyr)
a <- rnorm(21, mean = 112, sd =12)
colour <- rep(c("Blue", "Red", "Green"), 7)
data <- data.frame(colour, a) %>% 
group_by(colour) %>% 
summarise(mean = mean(a), sd = sd(a), n = n()) %>%
mutate(grp = html("[H<sub>2</sub>O]")) %>% 
rename(cat = colour)
b <- rnorm(21, mean = 60, sd =12)
day <- rep(c("2", "4", "6"), 7)
data2 <- data.frame(day, b) %>% 
group_by(day) %>% 
summarise(mean = mean(a), sd = sd(a), n = n()) %>%
mutate(grp = html("[H<sub>2</sub>O] Additition <br> (Days)")) %>% 
rename(cat =  day)
bind_rows(data, data2) %>% 
group_by(grp) %>% 
gt(rowname_col = "cat") 
bind_rows(data, data2) %>% 
group_by(grp) %>% 
gt() %>%
tab_options(row_group.as_column = TRUE) 

行组标签从字面上显示为'[H<sub>2<sub>O]',而不是[H2O]等。很可能我错误地使用了HTML,它需要与另一个包/函数一起使用。我也尝试过使用cols_label,但不识别这些作为数据框中的列。

是否还有一种方法可以使行组列垂直居中,而不是在当前位置的顶部?如何加粗这些行组?

html函数在gt表之外不起作用,因此您必须使用tab_row_group创建行组并在那里添加html标签。

data <- data.frame(colour, a) %>% 
group_by(colour) %>% 
summarise(mean = mean(a), sd = sd(a), n = n()) %>%
mutate(grp = "color") %>% 
rename(cat = colour)
data2 <- data.frame(day, b) %>% 
group_by(day) %>% 
summarise(mean = mean(a), sd = sd(a), n = n()) %>%
mutate(grp = "day") %>% 
rename(cat =  day)
bind_rows(data, data2) %>% 
gt() %>% 
tab_row_group(
label = html("[H<sub>2</sub>O]"),
rows = grp == "color"
) %>% 
tab_row_group(
label = html("[H<sub>2</sub>O] Additition <br> (Days)"),
rows = grp == "day"
) %>% 
cols_hide(grp)

最新更新