首页 > 解决方案 > 来自 kableExtra 的 RMarkdown Formattable 样式呈现 html 代码 - 未格式化的值

问题描述

使用 kableExtra 的 cell_spec 函数时,我无法让 rmd 文档正确格式化目标单元格。我可以看到正在应用的 html 格式,但它呈现的是 html 代码本身,而不是格式化的值。我正在尝试格式化简单摘要统计输出的 p 值。

最终呈现在 .html 文件中的内容如下: 渲染表

我正在做与下面相同的事情,但使用的是我自己的真实数据。作为参考,这个块产生了同样的问题。

mtcars %>% 
  rownames_to_column('car') %>% 
  select(car, mpg, disp, hp, wt) %>% 
  mutate(wt = ifelse(wt < 2, 
                     kableExtra::cell_spec(wt, color = 'red', bold = TRUE), 
                     wt)) %>% 
  kableExtra::kable() %>% 
  kableExtra::kable_styling()

标签: rr-markdownkablekableextraformattable

解决方案


kableExtra::kable(escape = F)是你想要的:

library(kableExtra)
library(dplyr)

mtcars %>% 
  rownames_to_column('car') %>% 
  select(car, mpg, disp, hp, wt) %>% 
  mutate(wt = ifelse(wt < 2, 
                     kableExtra::cell_spec(wt, color = 'red', bold = TRUE), 
                     wt)) %>% 
  kableExtra::kable(escape = F) %>% 
  kableExtra::kable_styling()

推荐阅读