来自未命名为app.R的文件有闪亮的负载

时间:2018-10-27 13:07:38

标签: r shiny

有人知道我可以更改闪亮加载的默认文件吗? 我希望比每个目录一个文件更具灵活性。

2 个答案:

答案 0 :(得分:1)

对于单个文件应用程序,只需将其重命名并添加

app <- shinyApp(ui = ui, server = server)
runApp(app)

能够获取它。

答案 1 :(得分:1)

这取决于您的设置。

设置1:从文件本地运行应用程序

如果要在本地运行应用程序(在交互式R会话中),可以使用命令

shiny::shinyAppFile("path/to/my/appFile.R")

加载应用程序。在这种情况下,应用程序文件不必命名为app.R。但是请注意,通过这种方法,所有相对路径(例如图像路径)将相对于您的工作目录而不是相对于应用程序的目录进行解析。

设置2:在服务器上运行应用程序

如果通过闪亮服务器(或Shinyapps.io)运行应用程序,则情况会更加复杂。在这种情况下,服务器将期望将应用定义为app.Rui.R/server.R以便正确加载。我唯一知道的解决方法是在shinyAppFile内使用app.R,但这在大多数情况下可能不是很有用。

设置3:将应用定义为对象

您还可以将应用定义为R对象,并通过打印该对象来调用它。

someAppObj <- shinyApp(ui = fluidPage(), server = function(...) {})

## start the app by printing it
someAppObj

如@ismirsehregal的回答中所述,您也可以使用runApp代替打印方法,该方法会注意相对路径和应用程序环境的处理是否稍有不同。

runApp(someAppObj)

由于shinyAppFile返回了一个应用程序对象,因此设置1实际上与设置3有关。