rmarkdown 在 kable 中转义 html

Yla*_*lan 2 html r knitr r-markdown kable

我正在尝试为我的 kable 表的单元格提供一些自定义 HTML 类。但问题是 div 的编码就像单元格的内容一样。我记得闪亮的桌子有一种方法可以让 celle 的内容逃逸并按原样解释。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))
Run Code Online (Sandbox Code Playgroud)

返回类似这样的内容:

<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>
Run Code Online (Sandbox Code Playgroud)

但我希望它返回类似的内容:

<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>
Run Code Online (Sandbox Code Playgroud)

这是渲染时的区别

2之间的区别

use*_*330 5

使用escape = FALSE

kable(head(new_df), format = "html", escape = FALSE)
Run Code Online (Sandbox Code Playgroud)