【问题标题】:R describe and R MarkdownR描述和R Markdown
【发布时间】:2013-10-21 11:19:11
【问题描述】:

我想describe我的数据表在 R Markdown 文件中使用

xtable(data, type='html')

但到目前为止,我查看的所有软件包似乎都与 xtablehtml 设置中不兼容,f.i. Hmisc::describe,reporttools::tableNominal.

有人对此有解决方案吗?

示例: 就像是 Variables Overview with xtable in R 但在 Markdown/html 中工作。

【问题讨论】:

  • 你试过R2HTML吗?
  • @Thomas 将所有内容保存在一个 Rmd 脚本中会更容易
  • 当然,您不想使用它的完整输出功能。但是您可以执行R2HTML::HTML(data, file=stdout()) 之类的操作,并保持一切独立。
  • 谢谢@Thomas,我会试一试

标签: r r-markdown xtable


【解决方案1】:

试试 pander 包。特别是该包中的 pandoc.table 函数

> pandoc.table(head(mtcars), split.tables=Inf, style='rmarkdown')


|                    |  mpg  |  cyl  |  disp  |  hp  |  drat  |  wt   |  qsec  |  vs  |  am  |  gear  |  carb  |
|:-----------------------:|:-----:|:-----:|:------:|:----:|:------:|:-----:|:------:|:----:|:----:|:------:|:------:|
|      **Mazda RX4**      |  21   |   6   |  160   | 110  |  3.9   | 2.62  | 16.46  |  0   |  1   |   4    |   4    |
|    **Mazda RX4 Wag**    |  21   |   6   |  160   | 110  |  3.9   | 2.875 | 17.02  |  0   |  1   |   4    |   4    |
|     **Datsun 710**      | 22.8  |   4   |  108   |  93  |  3.85  | 2.32  | 18.61  |  1   |  1   |   4    |   1    |
|   **Hornet 4 Drive**    | 21.4  |   6   |  258   | 110  |  3.08  | 3.215 | 19.44  |  1   |  0   |   3    |   1    |
|  **Hornet Sportabout**  | 18.7  |   8   |  360   | 175  |  3.15  | 3.44  | 17.02  |  0   |  0   |   3    |   2    |
|       **Valiant**       | 18.1  |   6   |  225   | 105  |  2.76  | 3.46  | 20.22  |  1   |  0   |   3    |   1    |

该降价表应呈现如下

【讨论】:

  • 谢谢@geektrader,我会试试的。我以为我需要使用pandoc 导出它,所以我还没有尝试过。
  • @geektrader - 感谢推广pander :) 只是一个可以提高包可用性的小补充:可以设置所有表的style,如果需要拆分表或不是panderOptions,然后只需在任何 R 对象上调用pander
  • 该死,我在一个安全的环境中工作,它太旧了,无法支持 pander 包 [Revolution R Community, R 2.14.2]
  • 当然,这仍然假设您要绘制的表格是某种表格格式,describe 输出不是这样
【解决方案2】:

好的,我找到了一个可以很好地与 R markdown 配合使用的选项,那就是使用 psych::describe 命令。这样做的好处是最终表是一个 data.frame 对象,然后可以进一步操作。

xtable

library(psych)
library(xtable)
table.desc <- describe(mytable)
print(xtable(table.desc), type="html")

或使用Gmisc

library(psych)
table.desc <- describe(mytable)
table.prep <- as.matrix(table.desc)
library(Gmisc)
htmlTable(table.prep)

请注意,在此示例中,您确实希望包含行名,因为它们是 describe 输出的一部分。此外,Gmisc 继承了 Hmisc::describe 命令,因此必须在创建统计表之后加载。

【讨论】:

  • htmlTable 已移动到单独的包中,不再继承 Hmisc
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-11
  • 2022-12-10
  • 1970-01-01
  • 2021-08-14
  • 2023-03-05
  • 1970-01-01
  • 2014-03-06
相关资源
最近更新 更多