首页 > 解决方案 > R tablegrob 条件格式,用于根据列值设置颜色

问题描述

有没有办法根据条件格式对 tableGrob 或 gtable 对象的列和颜色(红色、黄色或绿色)进行条件格式化?例如:

library(gridExtra)
library(grid)
d = head(iris, 20)
d
grob=tableGrob(d)

我希望根据 Petal.Length 的值更改 Sepal.Width 并为其着色。如果 Petal.Length = 1.1 则将其设置为红色,如果为 1.4 则将其设置为黄色,如果为 1.7 则将其设置为绿色。

标签: rformattingconditionalgtablegrob

解决方案


condformat软件包可用于此目的,我相信它的语法是不言自明的:

library(condformat)
data(iris)
condformat(head(iris, 20)) %>%
  rule_fill_discrete(
    columns = Sepal.Width,
    expression = Petal.Length,
    colours = c("1.1" = "red", "1.4" = "yellow", "1.7" = "green")) %>%
  condformat2grob()

结果


推荐阅读