R Kable: вращение текста в группировке столбцов

Я хотел бы обернуть и повернуть заголовки столбцов HEADER в таблице kable-latex. Я могу контролировать ширину столбца, используя спецификацию столбца, но мне нужно сгруппировать столбцы в моей таблице с заголовком, и это имена в заголовке, которые я хочу повернуть и обернуть. Очень простой пример моей таблицы ниже.

example <- data.frame(name="testname", score1=3, score2=2, score3=0)

table <- kable(example, format="latex", escape = F) %>%   
column_spec(1:4, width = "5em") %>%   
add_header_above(c(" " = 1, "Rhyme Product" = 2, "Sound ID Middle" = 1)) %>%   add_header_above(c(" " = 1, "Exploring Words" = 2, "Early Skills" = 1), bold = T)

Я хотел бы перевернуть первый набор групп столбцов (Rhyme Product и Sound ID Middle) на их стороне (угол = -45) и обернуть текст в две отдельные строки, занимая намного меньше места. Это возможно?

1 ответ

Это довольно простое решение. Я удивлен, что никто не ответил на него за эти годы. Одна из возможностей заключается в том, что настройка не существовала, когда был дан ответ на этот вопрос.

Чтобы добавить разрывы строк, добавьте\nк именам столбцов, где вы хотели бы, чтобы были разрывы. Для поворота добавьтеangle = "-45"в строку add_header_above, которую вы хотите изменить. См. код ниже.

      library(tidyverse)
library(kableExtra)

example <- data.frame(name="testname", score1=3, score2=2, score3=0)

table <- kable(example, format="latex", escape = F) %>%   
  column_spec(1:4, width = "5em") %>%   
  add_header_above(c(" " = 1, "Rhyme \nProduct" = 2, "Sound ID \nMiddle" = 1), angle = "-45") %>%   
  add_header_above(c(" " = 1, "Exploring Words" = 2, "Early Skills" = 1), bold = T)

table

Вывод таблицы

Интересно, что аргумент align принимает вектор углов (т.е.align = c("-45", "90")) для применения к каждому столбцу. Это также верно для row_spec. Я не видел, чтобы кто-то говорил об этом, и нигде в документации. Однако это действительно полезно.

Другие вопросы по тегам