如何在数据表的多个列上应用`formatStyle`

时间:2019-07-02 23:12:25

标签: r dt formattable

我正在尝试使用DT包将样式应用于数据表的多个列:

例如,我想基于该列的范围为每个列创建颜色栏。我已经知道我可以进行for循环了:

columns <- c("Sepal.Length","Sepal.Width","Petal.Length","Petal.Width")

dt <- DT::datatable(iris)
for( x in columns){
  dt <- dt %>%
    DT::formatStyle(
      x,
      background = DT::styleColorBar(iris[[x]],"steelblue"),
      backgroundSize = '90% 90%',
      backgroundRepeat = 'no-repeat',
      backgroundPosition = 'center'
    )

}
dt

enter image description here

但是,就我个人而言,我并不是很喜欢循环,是否有一种内置的或更简单的方法可以在不使用循环的情况下“映射” formatStyle?谢谢!


我已经检查了https://rstudio.github.io/DT/010-style.html上的DT指南,最后一个例子看起来很相似。但是在示例中,不同的列共享相同的范围。我想要的是每列都使用自己的最小和最大值来创建颜色条。

0 个答案:

没有答案