4

我有一个包含大量行 (90) 的表,每个表都包含一个名称、一个定义以及另一个文本列。我正在尝试输出到乳胶,以便它跨越多个页面并且也适合页面宽度。

library("xtable")
glossary2<-data.frame(names=letters[1:4],definition=c("very long long long text","very long long long long long text","very long long long long long long text","very long long long text"),include=c(NA,"YES",NA,"NO"))
glossaryprint<-xtable(glossary2,label="tab:codebook",caption="glossary")

除了xtable 文档,我还能够生成以下内容

使其适合页面宽度:

align(glossaryprint)<-"lXXX"
print(glossaryprint,tabular.environment="tabularx",width="\\textwidth")

要使其适合多个页面:

print(glossaryprint,tabular.environment="longtable",floating=FALSE)

但是,将这两种技术结合起来给我带来了困难。我想我可能不得不将表格分成每张 20 行的表格并使用 tabularx ,但这非常笨拙并且有很多重复代码。

当使用 R 函数输出到 Latex 时,是否有人能够建议一种方法使一个长表适合页面宽度和列内的换行?

4

1 回答 1

8

将保持开放状态以获得更优雅的解决方案,但......

添加此行允许对列宽进行硬编码

library("xtable")
glossary2 <- data.frame(names=letters[1:4], definition=c("very long long long text","very long long long long long text","very long long long long long long text","very long long long text"), include=c(NA,"YES",NA,"NO"))
glossaryprint <- xtable(glossary2, label="tab:codebook", caption="glossary")

align(glossaryprint) <- "lp{2in}p{3in}p{1in}" #here is the change
print(glossaryprint, tabular.environment="longtable", floating=FALSE)
于 2013-07-29T13:18:38.363 回答