何以两种方式突出显示条件值 table 在 R 中使用 TableGrob 绘图?

Ho to highlight conditional values in a two way table graphing with TableGrob in R?

我想在 R 中绘制 table 图形,例如,我在红色中突出显示条件为 'less than 2' 的值。对我如何做到这一点有什么帮助吗?

data(iris)
iris <- iris[1:4, 1:3]
rownames(iris) <- as.character(as.yearmon(
  seq(as.Date("2020/1/1"), as.Date("2020/4/1"), by = "month")))
colnames(iris) <- as.character(as.yearmon(
  seq(as.Date("2020/5/1"), as.Date("2020/8/1"), by = "month")))
iris

tg <- tableGrob(iris)
grid.draw(tg)

您可以使用 gridExtracondformat 来简化操作:

library(gridExtra)
library(condformat)

t <- condformat(iris) %>%
     rule_text_color(Sepal.Length, ifelse(Sepal.Length >= 4.6, "red", "")) %>%
     condformat2grob()

p <- ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) + 
     geom_point()

grid.arrange(p ,t, nrow=1)