R描述和R Markdown

3

我希望能够在 R Markdown 文件中使用代码来描述我的数据表格

xtable(data, type='html')

但是到目前为止我查看的所有包似乎都不与 xtablehtml 设置中兼容,例如 Hmisc::describereporttools::tableNominal

有人有这方面的解决方案吗?

示例: 类似于 Variables Overview with xtable in R 但在 Markdown/html 中工作。


你尝试过使用 R2HTML 吗? - Thomas
@Thomas 对我来说,将所有内容都放在一个Rmd脚本中会更容易些。 - Joanne Demmler
当然,您不想使用其完整的输出功能。但是您可以像这样做:R2HTML::HTML(data, file=stdout()) 并保持所有内容自包含。 - Thomas
2个回答

4

好的,我找到了一种与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命令,因此必须在创建统计表后加载AFTER

htmlTable已经移动到一个单独的包中,不再继承Hmisc。 - Max Gordon

4
尝试使用pander软件包,特别是该软件包中的pandoc.table函数。
> pandoc.table(head(mtcars), split.tables=Inf, style='rmarkdown')


|         &nbsp;          |  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    |

那个Markdown表格应该呈现为以下形式: | 表头1 | 表头2 | | ----- | ----- | | 单元格1 | 单元格2 | | 单元格3 | 单元格4 |

谢谢@geektrader,我会试一下。我以为需要使用pandoc导出,所以还没有尝试过。 - Joanne Demmler
@geektrader - 感谢您推广 pander :) 只需进行小小的添加即可提高软件包的可用性:可以使用 panderOptions 设置所有表格的 style,以及是否需要拆分表格,然后只需在任何 R 对象上调用 pander 即可。 - daroczig
糟糕,我正在一个安全环境中工作,但它太老了,无法支持“pander”包[Revolution R Community,R 2.14.2]。 - Joanne Demmler
当然,这仍然假定您想要绘制的表格处于某种表格格式中,但这并不适用于“describe”输出。 - Joanne Demmler

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接