我正在尝试通过 kable 和 kableExtra 函数使用 Rmarkdown LaTex 打印一个相当简单的表格,这些函数允许我加粗行和列。下面是我的问题的一个例子:
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
up through的方式重命名该组,\\\\<1
并且要么“有效”但打印一个斜线,要么它给我一个关于无法识别的转义的错误。现在我知道最简单的选择是以某种方式简单地重命名组,但我很想看看是否有其他的转义技巧或解决方法,以便我可以保留我的组名。
谢谢!