Я пытаюсь напечатать довольно простую таблицу, используя Rmarkdown LaTex через kable и функции kableExtra, которые позволяют мне выделять строки и столбцы.Ниже приведен пример моей проблемы:
df <- data_frame(grp=c("<1","1-5","5+"),n=c(3,4,5))
#This works
df %>%
kable(format="latex",booktabs=T)
#This works
df %>%
kable(format="latex",booktabs=T) %>%
kable_styling(latex_options = c("hold_position"))
#This works
df %>%
kable(format="latex",booktabs=T) %>%
kable_styling(latex_options = c("hold_position")) %>%
column_spec(1,bold=T)
#This works
df %>%
kable(format="latex",booktabs=T) %>%
kable_styling(latex_options = c("hold_position")) %>%
row_spec(1 ,bold=T)
#This does not work
df %>%
kable(format="latex",booktabs=T) %>%
kable_styling(latex_options = c("hold_position")) %>%
row_spec(0 ,bold=T) %>%
column_spec(1,bold=T)
Теперь я смог выяснить, что это потому, что моя группа начинает с символа меньше чем, что, очевидно, вызывает хаос при попытке использовать как column_spec
, так и row_spec
.Сообщение об ошибке:
! Misplaced \noalign.
\toprule ->\noalign
{\ifnum 0=`}\fi \@aboverulesep =\abovetopsep \global \@b...
l.129 \toprule
В моем реальном фрейме данных (который сам по себе не намного сложнее, чем этот), моя основная ошибка на самом деле Error: \caption outside float
(но я не могу воспроизвести егоэто с моим MVE, по общему признанию, я пропустил несколько других вариантов для этого примера, хотя).
Я попытался просто переименовать группу в соответствии с \<1
до \\\\<1
, и этолибо «работает», но печатает косую черту, либо выдает ошибку о нераспознанном побеге.Теперь я знаю, что самый простой вариант - просто переименовать группу каким-либо образом, но мне интересно посмотреть, есть ли какой-нибудь другой выход или обходной путь, чтобы я мог сохранить название своей группы.
Спасибо!