Получите блестящую загрузку из файла без имени app.R

Кто-нибудь знает, что можно изменить файл по умолчанию, который загружается блестяще? Я надеялся на большую гибкость, чем один файл на каталог.

В документации shiny::runApp сказано, что аргумент appDir принимает: «Файл« .R », содержащий приложение Shiny». Ваш вопрос немного непонятен. Как вы запускаете / загружаете файл?

pogibas 27.10.2018 15:13
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
1
373
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Для приложения с одним файлом просто переименуйте его и добавьте

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

чтобы иметь возможность его найти.

Ответ принят как подходящий

Это зависит от ваших настроек.

Настройка 1. Запуск приложения локально из файла

Если вы хотите запустить приложение локально (внутри интерактивного сеанса R), вы можете использовать команду

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

для загрузки приложения. В этом случае файл приложения не обязательно должен называться app.R. Однако обратите внимание, что при таком подходе все относительные пути (например, пути к изображениям) будут разрешены относительно вашего рабочего каталога, а не относительно каталога приложения.

Настройка 2: запуск приложения на сервере

Если приложение запускается через shiny-server (или shinyapps.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 возвращает объект-приложение.

Другие вопросы по теме