Подтвердить что ты не робот

R + Shiny, которые молот? прямая блестящая, гибкая панель или шиновидная панель?

С риском попадания с помощью мод "слишком широкий вопрос" молоток, я хочу спросить, учитывая множество интерактивных R Shiny появляются инструменты и пакеты, когда вы используете какой?

  • Блестящий - для меня только ваш проект должен бежать от блестящего сервера, но кажется лучшим выбором.

  • shinydashboard - Блестящий, но имеет хорошие поля значений для выносок.

  • flexdashboard - напишите в Rmd. Что это значит, что прямая Блестящая нет? Возможно, полезно отправить электронное письмо клиенту, если вы с удовольствием передадите данные? Я играл с flexdashboard, но его неспособность работать с datatable (library (DT)) заставляет меня чувствовать, что ему нужно еще несколько итераций.

Глядя на другие ответы, я не одинок в задавая этот вопрос.

Создатели предоставляют множество галерей для демонстрации своих пакетов/подходов, но как вы знаете, к какому пути идти дальше?

Каковы очевидные преимущества использования одного над другим?

4b9b3361

Ответ 1

Есть один нюанс, который нужно сделать. Интерактивность не обязательно требует наличия сервера за его запущенным кодом. Интерактивность может быть обеспечена с использованием встроенного JavaScript, который будет выполняться на стороне клиента (например, по графику, по высоким стандартам, в листовке и т.д.). Поэтому, если мы не используем слово "интерактивность", но явно описываем интерактивность, тогда ваши варианты становятся:

  • Блестящий: нужен сервер за ним, чтобы выполнить R-код при вводе пользователя. Может реализовать любой макет. Может запускать интерактивный код либо путем обработки serveride (в R), либо на стороне клиента (во встроенном JavaScript).
  • shinydashboard. Требуется сервер за ним, чтобы выполнить R-код при вводе пользователя. Может реализовывать макет панели. Содержит определенные виджеты, предназначенные для работы в макете панели. Может запускать интерактивный код либо путем обработки serveride (в R), либо на стороне клиента (во встроенном JavaScript).
  • flexdashboard. Просто документ, который выглядит как панель. Также содержит некоторые конкретные виджеты, предназначенные для работы в макете панели. Можно запускать только клиентский интерфейс с интерактивным кодом (во встроенном JavaScript).

В принципе, если требуется какая-либо интерактивность, может быть предложен существующий пакет (который использует htmlwidgets), тогда вы можете просто использовать flexdashboard, и вам не нужно разворачивать его на любой сервер Shiny. В противном случае вам нужно развернуть сервер Shiny, и вы должны использовать либо Shiny, либо shinydashboard.

Ответ 2

Я не согласен с тем, что у вас должен быть Shiny Server для запуска блестящего приложения. Я просто размещаю свое блестящее приложение на нашем сервере в порту 5050 (за брандмауэром), и любой клиент может получить доступ к приложению через ip: порт. Для этого я выполняю только 1 сеанс RStudio.

Если бы я включил переадресацию портов через наш маршрутизатор, это приложение также было бы доступно через Интернет, но по соображениям безопасности я этого не допускаю.

Мне нравится гибкость, которую предлагает Shiny для настройки веб-страницы.

ShinyDashboard отлично подходит для того, чтобы обеспечить коммерческий внешний вид без необходимости писать все css и html самостоятельно.

FlexDashboard также хороша тем, что вы можете размещать его на службе, которая может обрабатывать уценку, а не вставлять приложение через iFrame или что-то еще.

Ответ 3

Мне нравится вставлять блестящие модули внутри flexdashboard. Пока вы добавляете runtime: shiny в раздел заголовка YAML, использование блестящих модулей должно быть относительно простым. По относительной, я имею в виду, возьмите день и прочитайте все примеры из RStudio, а затем попробуйте сделать то же самое с вашим кодом. Как только вы закончите обучение, модули в flexdashboards делают будущее развитие намного более упорядоченным, умственно легким и, по моему опыту, предоставят мне возможность по-настоящему сосредоточиться на базовых вопросах, основанных на данных, на которые мне было предложено обратиться. Я думаю, что flexdashboards + shiny modules является лучшим из обоих миров: flexdash, чтобы разбить некоторые элементы макета, легко добавить или удалить раздел кода, изолировать различные аспекты вашего кода приложения в более визуально отличном макете (затенение "кусков" 'в RMD файле и т.д.), но при этом вы можете входить в более сложные, quintessentially shiny объекты, такие как настройка наблюдателей, прокси или пользовательских макетов.