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. Я не видел, чтобы кто-то говорил об этом, и нигде в документации. Однако это действительно полезно.