闪亮的圣杯:具有可重复性的交互性-用户!2019年图卢兹

闪亮的圣杯:具有可重复性的交互性-用户!2019年图卢兹

2019年7月11日

自2012年推出以来,Shiny已经成为R生态系统的中流砥柱,为构建各种交互式构件提供了坚实的基础。但这种互动性总是以可再现性为代价,因为在Shiny应用中执行的操作不容易被捕捉到,以便以后进行分析和复制。2016年,Shiny获得了“可书签状态”功能,可以通过URL快照和恢复应用程序状态。但是这个特性虽然有用,但并不能完全解决再现性问题,因为实际的程序逻辑仍然被锁定在用户界面后面。

Shiny应用程序的作者一直要求的解决方案是让应用程序的用户能够交互式地探索,然后生成一个可再现的工件——就像一个独立的R脚本或R Markdown文档——它代表应用程序状态和逻辑的快照。这样的脚本可以被重新运行、研究、修改、检查到源代码控制中——所有这些都是交互式应用程序无法做到的。今天确实存在这样的脚本生成闪亮的应用程序,但这通常要归功于它们的作者的英勇努力;实现工作量很高,Shiny应用逻辑往往很脆弱,或涉及大量重复代码。

在这次演讲中,我将讨论应用程序作者为实现这些目标所采取的一些方法,以及最近出现的一些令人惊讶和兴奋的方法。这些新方法有效地减少了实现工作和代码重复,并可能最终成为那些希望将交互性与可再现性结合起来的人的基本工具。


关于演讲者

乔程
/

Joe Cheng是RStudio的首席技术官,也是Shiny web框架的最初创建者,并英格兰vs伊朗让球继续在R和web的交叉点上工作。