#r #kableextra
#r #kableextra
Вопрос:
Я хочу добавить строку, объясняющую столбцы моей таблицы. Но add_header_above
функция немного сбивает с толку. Как вы ее используете? Это встроенный пример:
x = kable(head(mtcars), "html")
# Add a row of header with 3 columns on the top of the table. The column span for the 2nd and 3rd one are 5 amp; 6.
add_header_above(x, header = c(" ", "Group 1" = 5, "Group 2" = 6))
Ответ №1:
Вы должны создать именованный вектор, соответствующий нужной строке заголовка, например c("Group 1" = 5)
Каждый элемент заголовка состоит из текста и его «диапазона»
«span» — это единственное число, указывающее, сколько столбцов занимает элемент в строке заголовка.
Эти интервалы накапливаются и должны суммироваться с общим количеством столбцов в таблице.
Итак, если у вас есть таблица из 7 столбцов, и вам нужен заголовок, охватывающий всю таблицу, вы могли бы сказать:
add_header_above(myKe, header = c("Big title" = 7))`
Если бы вам нужен был пустой заголовок над начальным столбцом имен строк, за которым следует заголовок, охватывающий столбцы 2: 3, другой охватывающий 3: 4, и последние 2 ячейки пустые в вашей таблице из 7 столбцов, вы бы сказали:
add_header_above(myKe, header = c(" " = 1, "header1" = 2, "header2" = 2, " " = 2))
примечание: заголовок не может быть пустым, поэтому вам нужно использовать пробел » » в «пустых» ячейках.
Важное предостережение: эта конструкция c("my header" = 7)
не будет работать, если ваши заголовки создаются на лету, потому tmp= "X"; c(tmp = 7)
что интерпретируется как c("tmp" = 7)
Вместо этого вам нужно было бы сказать что-то вроде:
header = 7
names(header) = "X"
myKe = add_header_above(myKe, header = header)