将.RData文件加载到会话中但没有在Shiny中加载对象

时间:2013-07-15 12:49:59

标签: r shiny

我在R(一个名为obj的对象)中得到了我的分析结果,并将其保存为.RData文件obj-result.RData。现在在Shiny中,在ui.R文件的开头,我放了load("obj-results.RData"),这样每次Shiny运行时,这个对象都可以加载到R session中,即我希望obj对象可用于后续步骤,例如obj@dataobj@sample等。

但是,我发现load不会使当前R会话中的obj对象可用,因此Shiny无法找到所需的数量。加载.RData对象时是否有任何遗漏?非常感谢你!

2 个答案:

答案 0 :(得分:5)

答案是,无论何时在ui.R和/或server.R中使用对象,相关对象都必须加载到同一文件中。否则,闪亮将不知道从其他文件中找到对象的位置(即使它们位于同一目录中并加载)。

答案 1 :(得分:2)

我还在部署的ShinyApp中加载了.RData文件;我的应用程序来自此文件。我也很难理解装载是如何工作的。 在此示例here中,语句load(...)位于server.R中。这种方式继续在我的ShinyApp中无效(应用程序显示但立即变灰) - 我不知道为什么。解决方案只是将load(...)语句放在global.R文件中:load("./data/obj-result.RData", envir=.GlobalEnv)