【发布时间】:2022-01-19 19:54:44
【问题描述】:
我想使用DT::datatble 突出显示数据中每一列中的对应值。
例如:
library(tidyverse)
data(mtcars)
mtcars <- mtcars %>% mutate(across(everything(), as.character))
datatable(mtcars[, c("vs", "am")]) %>%
formatStyle("vs", backgroundColor = styleEqual(rep(0, sum(mtcars$vs == 0)), rep("yellow", sum(mtcars$vs == 0)))) %>%
formatStyle("am", backgroundColor = styleEqual(rep(1, sum(mtcars$am == 1)), rep("yellow", sum(mtcars$am == 1))))
在实际情况下,我有多个列,我想迭代所有列以添加formatStyle。有没有办法在循环中复制%>% formatstyle():
# something to start
l <- list()
l[["vs"]] <- 0
l[["am"]] <- 1
datatable(mtcars[, c("vs", "am")]) %>%
lapply(l, function(i) {
i ... # multiple formatStyle()
})
在每一列上迭代的目的不是突出vs中的1,或者am中的0。
谢谢!
【问题讨论】:
标签: r dplyr datatable tidyverse dt