将类别值替换为交通灯颜色

时间:2018-11-30 23:26:50

标签: r icons r-markdown gsub

我想在表格中以R或r-markdown中的红色,黄色和绿色斑点显示一些分类值。

有没有办法做到这一点?也许是一个图标包,它将让我为某个图标添加文本?我搜寻了互联网,空手而归。任何想法表示赞赏。

library(kableExtra)
dt <- mtcars[1:5, 1:6]
kable(dt) %>%
  kable_styling(full_width = F, font_size = 12) %>%
  row_spec(0, angle = -90)%>%
  row_spec(1:5, bold = F, color = "black")

enter image description here

1 个答案:

答案 0 :(得分:2)

这是在knitr中使用html格式的示例。它使用cell_spec函数使用图标和颜色来创建新列。

library(kableExtra)
library(emojifont)
library(dplyr)

load.fontawesome()
options(knitr.table.format = 'html')

cylcols = function(cyl) {
    case_when(
        cyl == 4 ~ 'green',
        cyl == 6 ~ 'yellow',
        cyl == 8 ~ 'red'
    )
}

dt <- 
    mtcars[1:5, 1:6] %>% 
    mutate(symbol = fontawesome('fa-circle')) %>%
        mutate(symbol = cell_spec(symbol, 'html', color=cylcols(cyl))) %>%
        select(mpg, cyl=symbol, disp, hp, drat, wt)

kable(dt, escape = F) %>%
    kable_styling(full_width = F, font_size = 12) %>%
    row_spec(0, angle = -90) %>%
    row_spec(1:5, bold = F, color = "black") 

enter image description here