Я пытаюсь добавить заголовок к выводу таблицы из пакета "таблицы" в R с последующим дополнительным форматированием с использованием kableExtra.
Хотя другие потоки нашли способы добавления заголовков заголовков с помощью дополнительного кода LaTeX ( Заголовок не отображается для таблицы LaTeX при вязании с использованием функции Hmisc LaTeX и Hmisc :: latex не печатает заголовок с / табличный объект ), эти решения не совместимы с более новой функцией toKable()
, которая позволяет дополнительное форматирование с помощью kableExtra.
Обычно заголовок добавляется при использовании kable(x, caption = "mycaption")
. Однако, когда он генерируется следующим образом, возникает ошибка (Error in toKable(., booktabs = T) : 'table' must be a 'tabular' object.
). Появляется, если я пытаюсь добавить какое-либо дополнительное форматирование через latex()
, такое как добавление заголовка, тип объекта изменится, делая его непригодным для использования с функцией toKable()
. Буду очень признателен за понимание того, как использовать toKable()
с дополнительным форматированием LaTeX, которое было передано через latex()
!
library(tables)
library(magrittr)
library(kableExtra)
tabular((Species + 1) ~ (n=1) + Format(digits=2)* (Sepal.Length + Sepal.Width)*(mean + sd), data=iris) %>%
latex(., options = list(tabular = "longtable",
toprule = "\\caption{Table 1. My favorite caption}\\\\\\toprule")) %>%
toKable(., booktabs = T)
Вывод LaTeX перед передачей на toKable()
:
\begin{longtable}{lccccc}
\caption{Table 1. My favorite caption}\\\toprule
& & \multicolumn{2}{c}{Sepal.Length} & \multicolumn{2}{c}{Sepal.Width} \\
Species & n & mean & sd & mean & \multicolumn{1}{c}{sd} \\
\hline
setosa & $\phantom{0}50$ & $5.01$ & $0.35$ & $3.43$ & $0.38$ \\
versicolor & $\phantom{0}50$ & $5.94$ & $0.52$ & $2.77$ & $0.31$ \\
virginica & $\phantom{0}50$ & $6.59$ & $0.64$ & $2.97$ & $0.32$ \\
All & $150$ & $5.84$ & $0.83$ & $3.06$ & $0.44$ \\
\hline
\end{longtable}