【问题标题】:Split xtable ouput into sub tables将 xtable 输出拆分为子表
【发布时间】:2011-09-14 21:52:01
【问题描述】:

当有多个列时,有一个关于使用 xtable 和 Sweave 的问题。我正在处理的表有大约 25 列和 5 行。不知道确切的列数,因为这是动态的。

当我跑的时候说,

table1

我得到一个基本上超过页面长度的表格。

       ColA    ColB    ColC
---------------------------
RowA   1       2       3   ......
RowB   3       4       6   ......

如果对此做一个 xtable,并通过 Sweave 运行它,

xtable(table1, caption="some table")

它溢出了。

我正在寻找类似的东西,

       ColA    ColB    ColC
---------------------------
RowA   1       2       3 
RowB   3       4       6 

       ColD    ColE    ColF 
---------------------------
RowA   11       9       34 
RowB   36       8       65  

使用 \hline 等标记。基本上,将 xtable 拆分为每个“子表”5 列。

我也在批处理作业中运行它,因此我将无法对单个文件进行更改,无论它必须能够通过在 Rnw 文件上运行 Sweave 生成​​的解决方案。

提前致谢,

问候,

  • 拉吉。

【问题讨论】:

  • 您可能还想查看 Hmisc::latex,因为它支持 longtable 格式。我不是 Sweave 用户,但我通过该程序获得了很好的 LaTeX 输出。

标签: r sweave


【解决方案1】:

以下是来自 ?latex.table.bytaRifx 包中的示例。您可以在 LaTeX 中使用 longtable 来酿造类似的东西,并使用 latex.table.by 代码作为原型。

my.test.df <- data.frame(grp=rep(c("A","B"),10),data=runif(20))
library(xtable)
latex.table.by(my.test.df)
#   print(latex.table.by(test.df), include.rownames = FALSE, include.colnames = TRUE, sanitize.text.function = force)
#   then add \usepackage{multirow} to the preamble of your LaTeX document
#   for longtable support, add ,tabular.environment='longtable' to the print command (plus add in ,floating=FALSE), then \usepackage{longtable} to the LaTeX preamble

不管怎样,LaTeX 中的longtable 包是关键。

编辑:看起来你有太多列而不是太多行。在这种情况下,首先尝试美化该页面。

在标题中:

\usepackage{lscape}

在你的桌子周围:

\begin{landscape}
...
\end{landscape}

或者只使用sidewaystable

如果您的表格太宽而无法容纳一页,请尝试使用 supertabular 包,从描述中听起来它可能会根据宽度处理多个页面(但我从未使用过它,所以不能确定)。

【讨论】:

  • 您好 gsk3,感谢您的反馈。不幸的是,列数可能非常高(因为它是一个取决于其他一些因素的动态变量)。因此,为了获得有保证的结果,它也可能不适合某个环境。行数是固定的 - 5-6。
  • @xbsd:添加了另一个建议。如果supertabular 不起作用,请让模组将其迁移到tex.stackexchange.com,因为那里有真正的 LaTeX 专家。
  • @xbsd: 你为什么不直接转置矩阵呢?然后你有一个固定的、少量的列和大量的行。使用 longtable 环境(使用 tabular.environment="longtable")非常容易。此解决方案 a) 非常简单,b) 将占用更少的文档空间。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-29
  • 1970-01-01
  • 2011-03-28
  • 1970-01-01
  • 2012-05-15
  • 2016-03-07
相关资源
最近更新 更多