为 R 中的 tableGrob 自定义一列的字体颜色?

Customizing font colour of one column for a tableGrob in R?

我想在我的 tableGrob.

中自定义一个特定列的字体颜色

Here is the original table, and this is what I would like the table to look like 第五列中的零更改为 "white"

我在这里遵循了 baptise 的指示: 但没有成功。

这是我的简单数据框:

count <- data.frame("day17" = c(17, 4, 4, 4, 3, 2), 
"day27" = c(27, 4, 5, 5, 5, 1), "day37" = c(37, 5, 5, 4, 4, 3), 
"day47" = c(47, 2, 1, 3, 0, 0), "day57" = c("Time (d)", 0, 0, 0, 0, 0))

按照上面 baptiste 的示例,我尝试指定第五列的颜色:

colours <- matrix(c("black", "white", "white", "white", "white", "white"), ncol=1, nrow=nrow(count), byrow=FALSE)

这是生成 table:

的代码
table_theme <- ttheme_minimal(core = list(fg_params=list(col=(colours))))
grid.newpage() 
table <- tableGrob(count, theme = table_theme, rows=NULL, cols=NULL)  
grid.draw(table)

此代码仍在按行而不是按列更改颜色。对此事的任何帮助将不胜感激。

我是 stack-overflow 的新手,这是我的第一个问题,如果答案实际上是代码中的错误,如缺少括号等,请原谅我!

colours are recycled columnwise,所以如果你想为不同的列使用不同的颜色,你需要传递一个完整的颜色矩阵,例如

colours <- matrix("black", nrow(count), ncol(count))
colours[2:nrow(colours), ncol(colours)] <- "white"