我是 R 新手,我们知道在 Excel 中通过与另一列进行比较来有条件地格式化单元格(更改背景颜色)非常容易。
我尝试使用 KableExtra 在 R 中执行此操作。但是我无法成功地从另一行获取值并进行比较。我的任务是通过比较同一行中另一列上的单元格来使单元格显示为绿色、黄色或红色。
library(kableExtra)
library(dplyr)
library(knitr)
multirow_spec <- function(x, rows, ...) {
for (row in rows)
x <- kableExtra::row_spec(x, row, ...)
x
}
x <- knitr::kable(head(mtcars), "html")
multirow_spec(x, c(1, 3, 4), background="red")
x
上面的代码成功地无条件改变了整行的背景颜色。现在我想要的是根据 mtcars$gear 列下的值将单元格颜色更改为绿色(>mtcars$gear)或黄色(=mtcars$gear)或红色('<'mtcars$gear)。
有人可以帮我吗?TIA