global.R don';开始
我想知道为什么当我从Rstudio启动我的应用程序时,global.R没有启动。 据我所知,在启动我的应用程序时,global.R必须运行一次,但是Rstudio给了我一个错误,它找不到我在global.R文件中定义的函数。 在用ctl+alt+R手动运行global.R之后,我可以启动我的应用程序,它可以识别功能,并且在我使用R会话期间运行良好。我不是在网上发表,只是在本地工作。 我错过什么了吗? 谢谢。(R版本3.5.2和1.2) 只有当闪亮的应用程序由global.R don';开始,r,shiny,R,Shiny,我想知道为什么当我从Rstudio启动我的应用程序时,global.R没有启动。 据我所知,在启动我的应用程序时,global.R必须运行一次,但是Rstudio给了我一个错误,它找不到我在global.R文件中定义的函数。 在用ctl+alt+R手动运行global.R之后,我可以启动我的应用程序,它可以识别功能,并且在我使用R会话期间运行良好。我不是在网上发表,只是在本地工作。 我错过什么了吗? 谢谢。(R版本3.5.2和1.2) 只有当闪亮的应用程序由server.R和ui.R组成时,gl
server.R
和ui.R
组成时,global.R
的内容才可用。如果应用程序由唯一的app.R
文件构成,则忽略global.R
的内容
在server.R
和ui.R
中拆分app.R
将
解决您的问题。由于OP询问了架构仅依赖单个
app.R
时为什么不读取global.R
,这是因为应用程序是如何启动的
如果通过以下方式启动:
shinyApp(ui = ui, server = server)
然后应用程序考虑这两个函数,而不事先运行任何操作,即忽略global.R
内容。但是,onStart
参数可以提供给shinyApp
,以便在应用程序启动之前运行一些东西,其描述解决了大量的混乱:
onStart:在应用程序实际运行之前调用的函数。这仅适用于shinyAppObj,因为在shinyAppDir案例中,可以使用global.R文件来实现这一目的
在我看来,当应用程序分为server.R
和ui.R
时,global.R
会通过shinyAppDir
运行应用程序自动包括在内
如果想要严格使用单个app.R
code文件并在启动应用程序之前执行一些例程,我找到的解决方案是:
- 修改
调用中的onStart
参数shinyApp
- Source
as@tic toc chocglobal.R
server.R
和ui.R
位于同一文件夹中?是否。但是我使用的是app.R而不是server.R和ui.R。你可以source(“global.R”)
来解决这个问题,作为app.R
中的第一行代码之一。是的,这就是我所做的,它可以工作,但我想知道为什么它不能单独启动!这与Shinny的入门非常混淆,他们说:注意:在版本0.10.2之前,Shinny不支持单文件应用程序,ui对象和服务器功能需要分别包含在名为ui.R和server.R的单独脚本中。此功能在Shining中仍然受支持。。。事实上,据说我们必须更好地使用应用程序,而不是服务器和用户界面,因为前者仍然受支持!!!但是有多少次?但global.R不会随应用程序自动启动。你说得对!谢谢