【问题标题】:R Sweave: output a very large table with linebreaks at the end of the pageR Sweave:在页面末尾输出一个带有换行符的非常大的表格
【发布时间】:2017-07-20 14:52:36
【问题描述】:

我正在使用 R Sweave 并希望以显示我的表格示例开始我的文档。我的问题是,我的表有 39 个变量和很多行。对于行,这不是问题,我只能使用 sample_n 取几个,但我需要让所有变量都可见。遗憾的是,它也不适合放在风景纸上。我正在使用 xtable 来生成我的表格。我认为更简单的方法是将尽可能多的变量放在工作表上,然后从下面的其余部分开始,依此类推,直到全部显示出来。

这里有一些极简主义的例子:

dat <- bind_cols(mtcars, mtcars, mtcars, mtcars)
a <- as.data.frame(dat) %>%
  sample_n(5)
print(xtable(a))

我已经知道 longtable 函数,但它只会在我有太多行而不是太多列的情况下对我有帮助,不是吗?在同一个文件上同时拥有 R 和 LaTeX,我仍然有点迷失......

【问题讨论】:

  • 为什么要制作乳胶桌而不是 R 打印桌?
  • 好点!因为 1)我使用整个文档然后 xtable,并希望有相同的输出,但这不会是这样的问题 2)如果我只是打印布局不太好。他将项目向右而不是向左对齐,并且区分标题行和其他项目并不容易。但是,如果有可能改进 r 打印的布局而不是使用 LaTeX,那将是一个很好的解决方案。我会检查我是否在网上找到了漂亮的东西。
  • 也许试试那里的功能:stackoverflow.com/a/44868837/6103040
  • 谢谢,它已经帮了很多忙了!我仍然面临两个问题:标题行仍然很难看到,并且我没有实现不打印 NA 值(我在打印环境中写了 na.print="" ,但似乎不是非常有用)。

标签: r latex sweave xtable


【解决方案1】:

使用我的huxtable 包的答案。创建表,然后按列分解:

library(huxtable)
dat <- sample_n(as.data.frame(bind_cols(mtcars, mtcars, mtcars, mtcars)), 5)
ht <- as_hux(dat, add_colnames = TRUE)

# now format to taste:
bold(ht)[1,] <- TRUE

ht[,1:5] # first 5 columns. Will print as LaTeX within a Rmarkdown document

【讨论】:

  • 感谢您的帮助,但我使用的是 R Sweave,而不是 R Markdown,然后输出不是搜索的那个,因为它显然不会以相同的方式呈现。
  • 也许只是在 huxtable 上调用 print_latex。
  • 我得到这个结果:picture。无法理解我做错了什么。
猜你喜欢
  • 2018-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多