你用什么在 R 中生成仪表板?

数据挖掘 r 可视化
2021-09-13 23:59:15

我需要生成定期(每日、每月)网络分析仪表板报告。它们将是静态的并且不需要交互,因此可以将 PDF 文件想象为目标输出。报告将混合表格和图表(主要是使用 ggplot2 创建的迷你图和子弹图)。想想 Stephen Few/Perceptual Edge 风格的仪表板,例如:示例仪表板

但适用于网络分析。

关于使用哪些包创建这些仪表板报告的任何建议?

我的第一个直觉是使用 R markdown 和 knitr,但也许您找到了更好的解决方案。我似乎找不到从 R 生成的仪表板的丰富示例。

4个回答

我认为Shiny在这种情况下这是一种矫枉过正的做法,并且不符合您对仪表板报告static的要求。我想,您对“仪表板”一词的使用有点令人困惑,因为有些人可能认为它更强调交互性实时仪表板),而不是信息布局,这是我的理解(由“静态”要求)。

我给你的建议是使用R Markdownknitr ,特别是因为这些包的学习曲线比Shiny低得多此外,我最近遇到了一个 R 包,在我看来,它非常适合您在报告中嵌入小图表/绘图的要求,如上图所示。此包生成静态或动态图形表,称为sparkTable ( http://cran.r-project.org/web/packages/sparkTable )。它的插图可在此处获得(软件包主页上没有指向它的链接): http: //publik.tuwien.ac.at/files/PubDat_228663.pdf如果您需要一些交互性sparkTable通过其简单的接口提供了一些Shiny.

Shiny是一个用于生成基于 HTML 的应用程序的框架,这些应用程序可以动态执行 R 代码。Shiny 应用程序可以独立使用,也可以使用 内置到 Markdown 文档中knitr,并且 Shiny 开发完全集成到 RStudio 中。甚至还有一个名为shinyapps.io的免费服务,用于托管 Shiny 应用程序,该shiny软件包具有直接从 R 部署 Shiny 应用程序的功能,而 RStudio 具有用于调用这些功能的 GUI 界面。网站的教程部分提供了更多信息。

由于它本质上将整个内容“编译”为 JavaScript 和 HTML,因此您可以使用 CSS 自由更改格式和布局,尽管 Shiny 对此具有不错的包装器功能。但碰巧他们的默认配色方案与您发布的屏幕截图中的配色方案相似。

编辑:我刚刚意识到你不需要它们是动态的。Shiny 仍然可以开箱即用地制作非常漂亮的网页,并提供许多用于重新排列元素的选项。还有下载绘图的功能,因此您只需在应用程序中更新数据文件,然后将生成的图像保存为 PDF,即可每月生成仪表板。

我确实发现Flex Dashboard选项非常酷、交互式且易于使用。试一试也许你也会。

同时,您也可以尝试这些。

希望能帮助到你! (如果你得到比这更好的东西,请更新我。)

我必须创建一个基于 Web 的仪表板。我的主要图表工具是 d3js。但我需要使用 ggplot2 来生成一些图表。通过 d3js 的 ggplot2 扩展,我可以创建相同的。如果你的图表可以通过现有的扩展生成,那么 web 有更好的选择。稍后您可以将它们导出为 PDF 以进行分发。