如何在 r 中为 gridExtra 中的 tableGrob 对象设置主题

How to theme a tableGrob object from gridExtra in r

我想为 r 中的 gridExtra 包中的 tableGrob 对象重新使用 theme/template/default。

library(gridExtra)

tableGrob(df, cols = c("Custom Name", "Custom Name2"), 
          show.rownames = FALSE, h.even.alpha = 0)

tableGrob(df2, cols = c("Different Name", "Different Name2"), 
          show.rownames = FALSE, h.even.alpha = 0)

注意,我不想多次重复 show.rownames = FALSEh.even.alpha = 0。创建某种类型的主题或模板以避免在对 tableGrob 的不同调用中重复这些选项的适当方法是什么?我可以使用类似于 ggplot2 的主题来执行此操作还是我最好的选择?

您可以定义一个新函数,将固定参数设置为您想要的值,并且只需要您提供数据框和列名:

myTG = function(data.frame, cols = c("Name 1", "Name 2")) {
  tableGrob(data.frame, cols = cols, show.rownames = FALSE, h.even.alpha = 0)
}

然后到运行吧:

tg1 = myTG(df, c("Custom Name 1", "Custom Name 2"))