2017-09-17 5 views
1

Ich versuche, die Zellen meiner kable-Tabelle einige benutzerdefinierte HTML-Klassen zu geben. Aber das Problem ist, dass das Div codiert wird, als wäre es der Inhalt der Zelle. Ich erinnere mich, dass die glänzenden Tabellen einen Weg haben, den Inhalt der Celle zu entkommen und so interpretiert zu werden, wie es ist. Gibt es so etwas für rmarkdown/knitr?rmarkdown escape html in kable

Zum Beispiel:

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)) 

kehrt so etwas wie diese:

<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> 

aber ich mag es etwas zurück wie:

<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> 

Hier ist der Unterschied zwischen dem beim Rendern

difference between the 2

Antwort

3

Verwendung escape = FALSE:

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