gridExtra包中的grid.table和tableGrob

时间:2015-08-03 20:29:50

标签: r gridextra

我正在尝试使用gridExtra包格式化表格。我拥有的gridExtra包是2.0,R版本是3.2.1

我在stackoverflow上看到关于格式化的答案,建议的选项似乎只适用于旧版本的软件包。例如,

grid.table(data, h.even.alpha = 1, h.odd.alpha = 0, 
           v.even.alpha = 1, v.odd.alpha = 1, 
           gpar.corefill, gpar.coretext) 

所有这些选项都显示为"未使用的参数"在最新版本中。

进一步搜索,我发现在新的gridExtra包中,格式化可能在主题内定义,例如 -

tt <- ttheme_default(core=list(fg_params=list(hjust=1, x=0.95)), 
                     colhead=list(fg_params=list(col="brown"))

然后做

grid.table(data, theme=tt). 

我找不到的是如何定义主题中的这些选项以及现在可以完成旧版本中可能的所有格式化。

特别是,我希望这样做 -

  1. 列的左对齐
  2. 逗号为big.marks(10000为10,000)
  3. 偶数和奇数行的不同行颜色
  4. 列标题颜色
  5. 没有显示行名称(类似于row.names = FALSE)

1 个答案:

答案 0 :(得分:12)

This最近的答案显示了如何更改参数,Baptiste提供了更多示例的链接。正如您在问题中注意到的那样,要更改格式,请使用theme参数;您可以通过查看ttheme_default()

的输出来查看要更改的参数
# New theme paramters
myt <- ttheme_default(
         # Use hjust and x to left justify the text
         # Alternate the row fill colours
                 core = list(fg_params=list(hjust = 1, x=1),
                             bg_params=list(fill=c("yellow", "pink"))),

         # Change column header to white text and red background
                 colhead = list(fg_params=list(col="white"),
                                bg_params=list(fill="red"))
 )

# Example data - create some large numbers  
dat <- mtcars[1:5,1:5]
dat$mpg <- dat$mpg*1000

grid.newpage()
grid.draw(tableGrob(format(dat, big.mark=","), theme=myt, rows=NULL))

big.mark format参数用于添加逗号分隔符,并使用rows=NULL参数删除rownames。

enter image description here