我需要使用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全局环境中。用户连接到应用程序时,它们不会执行。还要考虑如果将
Rdata
与compress=FALSE
参数一起保存,则可以加快ojit_code的加载速度。这样,您的文件将更大,但加载速度会更快。关于R : Load only once a .已部署的ShinyApp中的RData,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31557428/