0

我正在尝试通过 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 复制它,诚然我为此遗漏了一些其他选项例如,虽然)。

我已经尝试按照\<1up through的方式重命名该组,\\\\<1并且要么“有效”但打印一个斜线,要么它给我一个关于无法识别的转义的错误。现在我知道最简单的选择是以某种方式简单地重命名组,但我很想看看是否有其他的转义技巧或解决方法,以便我可以保留我的组名。

谢谢!

4

0 回答 0