使用中间多列标头对表行进行分组

时间:2014-04-11 18:41:37

标签: r latex sweave

我有一个数据框,我通过Hmisc:latex()生成一个带有pdflatex的格式化表。我想要做的是根据数据列将表行分组为多个部分,并插入包含这些部分标题的多列行(跨越所有列)。

E.g。如果我有:

> x = data.frame(A=rep(c('a', 'b'), each=2), X=1:4, Y=5:8)
> x
  A X Y
1 a 1 5
2 a 2 6
3 b 3 7
4 b 4 8

我想将x格式化为:

-----------
   X      Y
-----------
a
-----------
   1      5
   2      6
b
-----------
   3      7
   4      8
-----------

我知道我可以在Hmisc:latex()中使用 rgroup n.rgroup 来完成它,但问题是它需要在x中使用行名,所以行组标题仅跨越第一个表列,其中包含行名称。我的'a'和'b'组头文件实际上是长文本行,需要整个表格宽度,而且我有很多列而不仅仅是X和Y,因此我没有行名称的空格(也不需要) 。

我在包装插图(http://cran.r-project.org/web/packages/tables/vignettes/tables.pdf)中注意到的一个想法是使用 doEnd doFooter 等,可以传递给latex()调用的选项,以便表格不会被关闭,我可以手动cat(\ multicolumn {..} {l} {My row group header ...},然后跟进使用另一个latex()调用,这次使用 doEnd = TRUE 。这里的问题是它似乎与表生成的对象一起使用:tabular(),但没有像x这样的直接数据框我不知道是否有可能将数据框直接转换为表格对象(表中的公式方法对我来说似乎很复杂)。

我很感激有关如何处理这个问题的任何想法。

致以最诚挚的问候,

阿列克谢

0 个答案:

没有答案