r - 从未命名为 app.R 的文件中获得闪亮的负载
问题描述
有谁知道我可以更改闪亮加载的默认文件?我希望比每个目录一个文件更具灵活性。
解决方案
这取决于您的设置。
设置 1:从文件本地运行应用程序
如果要在本地(在交互式 R 会话中)运行应用程序,可以使用命令
shiny::shinyAppFile("path/to/my/appFile.R")
加载应用程序。在这种情况下,不必命名应用程序文件app.R
。但是请注意,使用这种方法,所有相对路径(例如图像路径)都将相对于您的工作目录而不是相对于应用程序的目录进行解析。
设置 2:在服务器上运行应用程序
如果应用程序需要通过闪亮服务器(或闪亮应用程序.io)运行,事情会更加复杂。在这种情况下,服务器将期望应用程序被定义为app.R
或ui.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)
设置 1 实际上与设置 3 相关,因为因为shinyAppFile
它返回一个应用程序对象。
推荐阅读
- javascript - 如何调试 JavaFx WebView 传出请求?
- r - 合并两个不同大小的矩阵
- python - 如何运行以变量命名的函数?
- javascript - 将 JSON 值插入 Javascript
- javascript - 如何测试 oninput 事件处理程序
- javascript - RegEx 用于匹配句子中间的名字
- c# - 获取 KeyValuePair,其中 Key 是最小值(来自 IEnumerable)
- html - Flask Pycharm css 文件永久附加到 html
- python - 来自 VGG19 的 Keras 自定义损失
- rabbitmq - 使用 RabbitMq 的微服务之间的数据一致性