我需要使用Shiny Server部署ShinyApp。要运行,我的应用程序需要.RData文件(约300 Mo)中的数据。此.RData文件加载了load(...)文件中的global.R语句。
由于计算机的功能,加载可能需要几分钟,这对用户来说是不友好的。

为了使.RDate文件仅加载一次,如何使每个新用户都不需要重新加载.RData文件,我们该怎么做?

谢谢。

最佳答案

如果将对象加载为global.R,则应仅加载一次。第一个用户之后的每个用户都应该可以快速访问您的应用程序。

如果您是在本地开发应用程序,则可以通过以下方式测试我在说什么。例如,使用以下命令启动您的应用程序:

 runApp(port=5050)

只是设置端口。您的浏览器需要一些时间才能显示该应用程序。加载后,记下您应用程序的地址(应为127.0.0.1:5050),关闭应用程序的浏览器标签(但不要停止R!),打开一个新标签,然后将上述地址放在地址栏中。现在,访问您的应用程序应该很快。

这就是说,只要启动并运行Shiny,就在开始时执行global.R中的命令,并将它们的评估放入R全局环境中。用户连接到应用程序时,它们不会执行。

还要考虑如果将Rdatacompress=FALSE参数一起保存,则可以加快ojit_code的加载速度。这样,您的文件将更大,但加载速度会更快。

关于R : Load only once a .已部署的ShinyApp中的RData,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31557428/

10-12 22:16