【发布时间】:2020-06-26 14:22:39
【问题描述】:
我正在尝试使用函数 createShinyApp 创建一个 R 包 mypckg。后一个函数应该创建一个目录结构,准备在某个位置用作闪亮的应用程序。在这个新创建的闪亮应用程序中,我有一些变量,应该从闪亮应用程序中访问,而不是由用户直接访问(以防止用户意外覆盖它们)。这些变量存在的原因(我知道不应该使用全局变量)是闪亮的应用程序正在处理文本语料库,我想避免在许多函数之间传递(并因此复制)它,因为这可能会导致用尽记忆。使用mypckg 的人应该能够设置这些变量,然后再使用createShinyApp。
到目前为止我的想法是:
- 我让
mypckg::createShinyApp将受保护的变量保存在protectedVariables.rds文件中,并让shinyApp 将此文件中的变量加载到新环境中。我对环境不是很有经验,所以我还不能让它正常工作,因为到目前为止,在运行闪亮的应用程序时无法创建新环境。 - 我让
mypckg::createShinyApp将受保护的变量保存在protectedVariables.rds文件中,并让shinyApp 将此文件中的变量加载到选项中。此后,我将访问变量并使用 options() 和 getOption 设置变量。
这些想法的优缺点是什么?还有更简单、更优雅的方法来实现我的目标吗?
【问题讨论】:
标签: r shiny global-variables environment r-package