当有多列时,有一个关于将xtable与Sweave结合使用的问题。我正在处理的表大约有25列和5行。确切的列数是未知的,因为它是动态的。
我跑的时候说
我得到一个实质上超出页面长度的表。
ColA ColB ColC
---------------------------
RowA 1 2 3 ......
RowB 3 4 6 ......
如果a在此上执行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生成何种解决方案,我都无法对其进行更改。
提前致谢,
问候,
最佳答案
这是?latex.table.by
包中taRifx
的示例。您可以在LaTeX中使用longtable
酿造类似的东西,并将latex.table.by
代码用作原型(prototype)。
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}
table 周围:
\begin{landscape}
...
\end{landscape}
或者只是使用
sidewaystable
。如果您的表格太大而不能容纳一页,请尝试使用
supertabular
包,从说明中听起来像它可以根据宽度处理多个页面(但我从未使用过,所以不能确定)。关于r - 将xtable输出拆分为子表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7423423/