冒着被 mods "too broad a question" hammer 击中的风险,我想问鉴于过多的交互式 R Shiny
工具和软件包层出不穷,您什么时候使用哪一个?
Shiny - 对我来说唯一的缺点是你的项目需要从 Shiny 的服务器运行,但似乎是最好的选择。
shinydashboard - Shiny 但有漂亮的标注值框。
flexdashboard - 将其写在 Rmd 中。这对你有什么好处,而直发 Shiny 却没有呢?如果您乐意传递数据,向客户发送电子邮件也许有用吗?我一直在玩
flexdashboard
但它无法使用数据表(库(DT))让我觉得它需要更多迭代。
看看其他答案,我并不孤单asking this question .
创作者提供了很多画廊来展示他们的包/方法,但你怎么知道该走哪条路呢?
使用其中一种相对于另一种有哪些明显的优势?
最佳答案
需要注意一个细微差别。交互性不一定需要其背后有运行代码的服务器。可以使用嵌入式 JavaScript 来提供交互性,该 JavaScript 将在客户端执行(如plotly、highcharts、leaflet 等)。因此,如果我们不使用“交互性”一词,而是明确地描述交互性,那么您的选择将变为:
- Shiny:需要一个服务器在其后面根据用户输入执行 R 代码。可以实现任何布局。可以通过处理服务器端(在 R 中)或客户端(在嵌入式 JavaScript 中)来运行交互式代码。
- shinydashboard:后面需要一个服务器来根据用户输入执行 R 代码。可以实现仪表板布局。包含一些设计用于在仪表板布局中工作的特定小部件。可以通过处理服务器端(在 R 中)或客户端(在嵌入式 JavaScript 中)来运行交互式代码。
- flexdashboard:只是一个看起来像仪表板的文档。还包含一些设计用于在仪表板布局中工作的特定小部件。只能在客户端运行交互式代码(在嵌入式 JavaScript 中)。
所以基本上,如果现有的软件包(使用 htmlwidgets)可以提供所需的任何交互性,那么您可以只使用 flexdashboard,而无需将其部署到任何 Shiny 服务器。否则,您确实需要部署到 Shiny 服务器,并且应该使用 Shiny 或 Shiny 仪表板。
关于R+ Shiny 哪个锤子?直 Shiny 、柔性仪表板还是 Shiny 仪表板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37992147/