R,通过 dfSummary 生成漂亮的图

R, generate pretty plot by dfSummary

我在使用 summarytools 数据包时遇到问题。教程:https://cran.r-project.org/web/packages/summarytools/vignettes/Introduction.html 包含漂亮的数据图: 我的问题是我的代码只生成 TEXT GRAPH。这是我的 markdown 中用于生成情节的代码块:

```{r summary, results='markup'}
library(summarytools)
my_data <- ...
dfSummary(my_data)
```

不幸的是它生成了这样的东西: 如何使用 summarytools 生成这份漂亮的报告? 或者你有更好的工具吗? (生成图表、均值、标准差等)


我找到了生成绘图的正确语法:

print(dfSummary(baseline_train), method = 'render')

结果如下所示:

代码块需要使用results = 'asis'。这是最小的可重现示例:

---
title: "Untitled"
output: html_document
---

```{r, results='asis'}
library(summarytools)
dfSummary(iris, plain.ascii = FALSE, style = "grid")
```

生产

关于此的一点更新:

  • 始终 使用 knitr 块选项 results='asis',正如有人在之前的评论中指出的那样。
  • 可以使用 print():

    生成包含 png 图表的摘要

    print(dfSummary(iris), method = "render")

  • 从版本 0.9.0 开始(截至 2019 年 2 月仅在 GitHub 可用),markdown 摘要 还将包括 png 图表,前提是您指定了以下参数:

    • plain.ascii = FALSE
    • style = "grid"
    • 临时 png 的物理位置 (tmp.img.dir)

      dfSummary(iris, plain.ascii = FALSE, style = "grid", tmp.img.dir = "/tmp")

其他提示

  • 在这两种情况下,您(很可能)需要使用 dfSummary()graph.magnif 参数调整图表的大小(尝试 .75.85).
  • 排除一两列以避免过于宽泛的摘要:
    dfSummary(iris, [...], varnumbers = FALSE, valid.col = FALSE)