mic*_*str 58 r shiny shinydashboard flexdashboard
冒着使用mods"太宽泛的问题"锤子的风险,我想问一下,鉴于大量的交互式R Shiny工具和软件包的出现,你什么时候使用哪一个?
闪亮 - 对我来说,只有你的项目需要从闪亮的服务器运行,但似乎是最好的选择.
shinydashboard - 闪亮,但有很好的价值框标注.
flexdashboard - 在Rmd中写出来.什么让你直接闪亮没有?也许,如果您愿意传递数据,可以通过电子邮件发送给客户吗?我一直在玩,flexdashboard但它无法使用数据表(库(DT))让我觉得它需要更多的迭代.
看看其他答案,我并不是唯一一个问这个问题的人.
创作者在那里提供了很多画廊来展示他们的包裹/进场,但是你怎么知道要走哪条路?
使用一个优于另一个的明显优势是什么?
Ami*_*hli 20
需要做出一个细微差别.交互性不一定需要运行代码的服务器.可以使用嵌入式JavaScript提供交互性,嵌入式JavaScript将在客户端执行(如plotly,highcharts,leaflet等).因此,如果我们不使用"交互性"一词,而是明确地描述交互性,那么您的选择将成为:
所以基本上,如果需要任何交互性可以由现有的包(使用htmlwidgets)提供,那么你可以使用flexdashboard而不需要将它部署到任何Shiny服务器.否则,您需要部署到Shiny服务器,您应该使用Shiny或shinydashboard.
我不同意你需要让Shiny Server运行一个闪亮的应用程序.我只是在端口5050(防火墙后面)的服务器上托管我的闪亮应用程序,任何客户端都可以通过ip:port访问应用程序.我只运行了一次RStudio会话来实现这一目标.
如果我通过我们的路由器打开端口转发,这个应用程序也可以通过互联网访问 - 但出于安全考虑,我不允许这样做.
我喜欢Shiny提供的自定义网页的灵活性.
ShinyDashboard很棒,因为它提供了商业外观,而无需自己编写所有的CSS和HTML.
Flexdashboard也很不错,因为您可以将其托管在可以处理markdown的服务上,而不是通过iFrame或其他方式插入应用程序.
我喜欢将闪亮的模块放在flexdashboard内。只要你把runtime: shiny你的YAML头部分,采用有光泽的模块应该是比较简单的。相对而言,我的意思是花一天时间阅读RStudio的所有示例,然后尝试对您的代码执行相同的操作。一旦您掌握了学习曲线,flexdashboard中的模块就可以使未来的开发更加简化,精简,并且以我的经验,这使我有机会真正专注于被要求解决的基于数据的基础问题。我认为flexdashboards + shiny modules是两全其美的方法:flexdash可以分解一些布局项,轻松添加或删除一部分代码,以更直观的布局隔离应用程序代码的各个方面(RMD文件中“块”的阴影)等等),同时仍然可以让您进入更复杂,典型的shiny事情,例如设置观察者,代理或自定义布局。