Для приложения с одним файлом просто переименуйте его и добавьте
app <- shinyApp(ui = ui, server = server)
runApp(app)
чтобы иметь возможность его найти.
Это зависит от ваших настроек.
Если вы хотите запустить приложение локально (внутри интерактивного сеанса R), вы можете использовать команду
shiny::shinyAppFile("path/to/my/appFile.R")
для загрузки приложения. В этом случае файл приложения не обязательно должен называться app.R
. Однако обратите внимание, что при таком подходе все относительные пути (например, пути к изображениям) будут разрешены относительно вашего рабочего каталога, а не относительно каталога приложения.
Если приложение запускается через shiny-server (или shinyapps.io), все обстоит сложнее. В этом случае сервер будет ожидать, что приложение будет определено как app.R
или ui.R/server.R
для правильной загрузки. Единственный обходной путь, о котором я здесь знаю, - это использовать shinyAppFile
внутри app.R
, но это может быть не очень полезно в большинстве ситуаций.
Вы также можете определить приложение как объект R и вызвать его, распечатав объект.
someAppObj <- shinyApp(ui = fluidPage(), server = function(...) {})
## start the app by printing it
someAppObj
Как упоминалось в ответе @ismirsehregal, вы также можете использовать runApp
вместо метода печати, который позаботится о том, чтобы относительные пути и обрабатывать среду приложения несколько иначе.
runApp(someAppObj)
Настройка 1 фактически связана с настройкой 3, поскольку shinyAppFile
возвращает объект-приложение.
В документации
shiny::runApp
сказано, что аргументappDir
принимает: «Файл« .R », содержащий приложение Shiny». Ваш вопрос немного непонятен. Как вы запускаете / загружаете файл?