Как объединить / объединить определенные ячейки в таблице kable для вывода PDF RMarkdown? - PullRequest
0 голосов
/ 02 октября 2019

Я создаю PDF, используя RMarkdown в RStudio. Часть моего PDF включает таблицы, которые я создавал с использованием пакетов Kable и KableExtra. В моей таблице я надеюсь объединить / объединить определенные ячейки по горизонтали в некоторых строках, но до сих пор не смог найти способ сделать это.

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


# Create example data

ExampleData <- data.frame(ColumnA = c(1:5), ColumnB = c(6, 7, NA, 9, 10), ColumnC = c(11, 12, NA, 14, 15), ColumnD = c(16, 17, NA, 19, 20), ColumnE = c(21:25), ColumnF = c(26:30)) 

# For this data I am trying to merge the adjacent NA cells, and add the text "Missing Values" to the merged cell. So I tried adding latex code to the first NA cell

ExampleData$ColumnB[3] <- c("\\multicolumn{3}{|c|}{Missing Values} \\\\")

# Create kable table

ExampleDataKable <- ExampleData %>%
  mutate_all(linebreak) %>%
  kable(format = "latex", escape=F, align=c("l", "c", "c", "c", "c", "c"))

# Print table in PDF output

print(ExampleDataKable)

Похоже, это скорее объединение / объединение существующих ячеек, создание дополнительных ячеек, которые затем объединяются с ячейкой, в которой находится код LaTeX, и перемещение соседних ячеек вправо на новую строку. Я надеялся, что смогу объединить существующие ячейки NA в кадре данных и добавить пропущенные значения текста в ячейку. В идеале я хотел бы попытаться сохранить таблицу как таблицу Kable, чтобы использовать возможности форматирования KableExtra.

...