kable / kableExtra Добавить верхний индекс к групповым меткам в group_rows - PullRequest
0 голосов
/ 29 августа 2018

У меня есть таблица, которую я создаю для презентации в формате PDF с использованием kable и kableExtra. Я хочу сгруппировать строки, и мне нужно использовать верхние индексы в метках группы строк. Я пробовал несколько разных вещей. Вот пример некоторых методов, которые я пробовал до сих пор.

library(kable)
library(kableExtra)

foo <- data.frame(a = 1:10, b = 11:20, c = 21:30)

kable(foo, format = "latex", booktabs = T, row.names = FALSE, linesep = "", escape = FALSE) %>%
  kable_styling(latex_options = c("striped")) %>%
  group_rows("Group1<sup>a</sup>", 1, 2) %>% 
  group_rows(paste0("Group2", footnote_marker_alphabet(1), sep = ""), 3, 4) %>% 
  group_rows(expression("Group3"^a), 5, 6) %>% 
  group_rows("Group4\\textsuperscript{a}", 7, 8)

У меня закончились идеи, и я не смог найти дополнительных предложений в моем поиске.

1 Ответ

0 голосов
/ 29 августа 2018

Вам нужно escape=FALSE в ваших group_rows() вызовах, чтобы разрешить интерпретацию латексных команд. Вам также, кажется, нужно удваивать каждый обратный слеш (я не совсем понимаю, почему). После этого есть несколько разных опций:

kable(foo, format = "latex", booktabs = T, row.names = FALSE, linesep = "", escape = FALSE) %>%
  kable_styling(latex_options = c("striped")) %>%
  group_rows("$\\\\text{Group1}^a$", 1, 2, escape = FALSE) %>% 
  group_rows(paste0("Group2\\\\", footnote_marker_alphabet(1), sep = ""), 3, 4, escape = FALSE) %>% 
  # I don't think expression() is helpful, doesn't seem to get converted
  # to latex
  group_rows(expression("Group3"^a), 5, 6) %>% 
  group_rows("Group4\\\\textsuperscript{a}", 7, 8, escape = FALSE)
...