rmarkdown在kable中逃脱html

时间:2017-09-17 17:28:53

标签: html r knitr r-markdown kable

我正在尝试为我的kable表单元格提供一些自定义HTML类。但问题是div被编码就好像它是单元格的内容一样。 我记得闪亮的桌子有一种方法可以让细胞的内容逃脱并被解释为。 rmarkdown / knitr有这样的东西吗?

例如:

make_green  function(x) {
    x <- paste('<div class="button is-success">',x,">/div>")

    return(x)
}

new_df <- iris %>% mutate(speci = make_green(Species))
kable(head(new_df))

返回类似这样的内容:

<td style="text-align:right;"> 5.1 </td>
<td style="text-align:right;"> 3.5 </td>
<td style="text-align:right;"> 1.4 </td>
<td style="text-align:right;"> 0.2 </td>
<td style="text-align:left;"> setosa </td>
<td style="text-align:left;"> &lt;div class=&quot;button is-success&quot;&gt; setosa &lt;/div&gt; </td>

但是我想要它返回类似的内容:

<td style="text-align:right;"> 5.1 </td>
<td style="text-align:right;"> 3.5 </td>
<td style="text-align:right;"> 1.4 </td>
<td style="text-align:right;"> 0.2 </td>
<td style="text-align:left;"> setosa </td>
<td style="text-align:left;"> <div class="button is-success"> setosa 
</div</td>

这是渲染时的区别

difference between the 2

1 个答案:

答案 0 :(得分:3)

使用escape = FALSE

kable(head(new_df), format = "html", escape = FALSE)