Как я могу напечатать символ меньше / больше чем в Rmarkdown LaTex через kable и kableExtra? - PullRequest
0 голосов
/ 12 июня 2018

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

Спасибо!

...