RMarkdown表列名中的Latex数学表达式

时间:2017-02-20 15:31:43

标签: r latex knitr r-markdown

我想在我的降价文档中显示一个表,并将列名设置为Latex数学公式,例如$ \ dot(m)_1 $。

我试过了:

knitr::kable(my.df[, c("Time", "MassFlowRate")],
             row.names = FALSE,
             col.names = c("Time", "$\dot{m}_1$"))

但它不起作用。

我最终不生成PDF,而是生成Word文档。因此,直接编码Latex表不是一种选择。

2 个答案:

答案 0 :(得分:6)

您需要将\转义为R代码,因此\dots应为\\dots

```{r}
my.df <- data.frame(Time=rnorm(10), MassFlowRate = rnorm(10))
knitr::kable(my.df[, c("Time", "MassFlowRate")],
             row.names = FALSE,
             col.names = c("Time", "$\\dot{m}_1$"))
```

答案 1 :(得分:1)

要使当前答案生效,您需要在, escape = FALSE中添加kable()

此外,相对于tibble,我更喜欢使用data.frame。这样,我可以直接在列名称中指定LaTeX代码。无需使用col.names

```{r}
library(tibble)
my_df <- tibble(Time=rnorm(10), `$\\dot{m}_1$` = rnorm(10))
knitr::kable(my_df, escape = FALSE)
```