kableExtra表中具有多种情况的方程

时间:2019-01-05 01:46:59

标签: r r-markdown xaringan

我正在Markdown文档中制作一张表格,其中将包含具有不同情况的方程式。当我在Markdown中写数组时,它就是这样:

enter image description here

当我使用kable()在表中包含相同的方程式时,数组末尾的条件将被破坏:

table after knitting to html

有人知道如何在kableExtra表中获取条件,使其看起来像在表外吗?我希望最后的条件保持一致。手动添加空格(0\\\ \\\ \\\ \\\ \\\ a = 0 \\\\)看起来很糟糕。我很想知道在继续使用黑客解决方案之前如何在Markdown中修复它。下面的每种情况的代码。

Markdown方程:

 $$C_{y,a}=
    \begin{cases}
    0 &   a=0 \\ 
    \frac{C_y N_{y,a}}{N_y^{1+}} & a>0 \\
    \end{cases}$$

Markdown表格中的方程式相同

 **Table 1.** Population dynamics.
```{r echo = F}
Equation_number <- c(1,2)

Equation <- c("$N_{i1,y} = R_{i,y} = R_{0,i }e^{\\tau_{i,y}}$",
              "$C_{y,a}=
              \\begin{cases}
              0 &   a=0 \\\\
              \\frac{C_y N_{y,a}}{N_y^{1+}} & a>0 \\\\
              \\end{cases}$")

Description <- c("Initial numbers at age","Catches at age")

Population_Equations <- data.frame(cbind(Equation_number,
                                         Equation,
                                         Description))
colnames(Population_Equations) = c("Eq.",
                                   "Equation", 
                                   "Description")
knitr::kable(format="html",
             Population_Equations, 
             escape = FALSE) %>% 
            kable_styling()

```

在此先感谢您的指导!

1 个答案:

答案 0 :(得分:2)

更新

正如@ user2554330所建议的那样,从github安装最新的开发人员版本应该可以解决此问题:

devtools::install_github("haozhu233/kableExtra")

旧答案:

当您不使用kable_styling时,它可以正常工作。不幸的是,kable_styling还没有escape参数。一种解决方法是手动替换转义的符号:

myTable <- knitr::kable(format="html",
                        Population_Equations, 
                        escape = FALSE) %>% 
  kable_styling()
myTable <- gsub("&amp;", "&", myTable) 
myTable <- gsub("&gt;", ">", myTable) 

enter image description here