Типы входных данных

Создание дашбордов с помощью shinydashboard

Png Kee Seng

Researcher

Функции ввода

  • В UI пользователи могут передавать входные данные
    • Это как инструкции для официанта
  • В shinyApp инструкции передаются через сервер
  • Для этого в UI добавляются функции ввода
  • <type>input(<identifying label>, <displayed label>, ...)
    • Первый аргумент — идентификатор
    • Второй аргумент — отображаемая метка
    • Остальные аргументы зависят от типа ввода
Создание дашбордов с помощью shinydashboard

Пример: исследование сна

  • Представьте, что вы провели исследование сна и собрали данные
  • Какие входные данные может задать пользователь shinyApp?

Иллюстрация к исследованию сна

1 Изображение: storyset on Freepik
Создание дашбордов с помощью shinydashboard

selectInput

  • Часто используемая функция ввода — selectInput()
  • Она создаёт выпадающее меню с несколькими вариантами
  • Третий аргумент — вектор с возможными вариантами
  • В данном примере четыре варианта
  • Пока оставим сервер пустым
  • Запустим shinyApp, вызвав shinyApp()
ui <- fluidPage(
  titlePanel("Sleeping habits in America"), 
    selectInput("selectlabel", 
                "Select an option",

choices = c("Option 1", "Option 2", "Option 3", "Option 4"))
server <- function(input, output, session) {
}
shinyApp(ui, server)
Создание дашбордов с помощью shinydashboard

selectInput

selectInput с выбором одного значения.

Создание дашбордов с помощью shinydashboard

selectInput с множественным выбором

  • Также можно добавить аргумент multiple
    ui <- fluidPage(
    titlePanel("Sleeping habits in America"), 
      selectInput("selectlabel", 
                  "Select an option",
                  choices = c("Option 1", "Option 2", "Option 3", "Option 4"),
                  multiple = TRUE))
    server <- function(input, output, session) {
    }
    shinyApp(ui, server)
    
Создание дашбордов с помощью shinydashboard

selectInput с множественным выбором

selectInput с множественным выбором

Создание дашбордов с помощью shinydashboard

textInput

  • Есть ещё два важных аргумента
    • value: значение, которым поле заполнено по умолчанию
    • placeholder: подсказка о том, что следует ввести в поле
ui <- fluidPage(
  titlePanel("Sleeping habits in America"), 
  textInput("textlabel", 
            "Tell me your name", 

value = "Birdie",
placeholder = "Don"))
server <- function(input, output, session) {
}
shinyApp(ui, server)
Создание дашбордов с помощью shinydashboard

textInput

Демонстрация textInput

Создание дашбордов с помощью shinydashboard

checkboxInput

  • Добавляет один флажок в приложение
  • value: TRUE или FALSE — задаёт начальное состояние флажка
  • Существует вариация checkboxInputcheckboxGroupInput
ui <- fluidPage(
  titlePanel("Sleeping habits in America"), 
  checkboxInput("checkboxlabel",
                "65 years and over",

value = FALSE))
server <- function(input, output, session) { } shinyApp(ui, server)
Создание дашбордов с помощью shinydashboard

checkboxInput

Демонстрация checkboxInput

Создание дашбордов с помощью shinydashboard

sliderInput

  • Создаёт ползунок для выбора одного из двух вариантов
    • Одно числовое значение из диапазона
    • Два числовых значения из диапазона
  • Для выбора одного значения задайте min и max
  • Начальное значение определяется аргументом value
  • Шаг определяется аргументом step
ui <- fluidPage(
  titlePanel("Sleeping habits in America"), 
  sliderInput("sliderlabel",
              "Average hours of sleep",

min = 7.5, max = 11,
value = 9,
step = 0.02))
server <- function(input, output, session) { } shinyApp(ui, server)
Создание дашбордов с помощью shinydashboard

sliderInput

Демонстрация sliderInput. Пользователь выбирает одно значение.

Создание дашбордов с помощью shinydashboard

sliderInput с диапазоном

  • Ползунок становится двусторонним, если value задан вектором длины 2
ui <- fluidPage(
  titlePanel("Sleeping habits in America"), 
  sliderInput("sliderlabel",
              "Average hours of sleep",
              min = 7.5,
              max = 11,

value = c(8, 10),
step = 0.02)) server <- function(input, output, session) { } shinyApp(ui, server)
Создание дашбордов с помощью shinydashboard

sliderInput с диапазоном

Ползунок с диапазоном

Создание дашбордов с помощью shinydashboard

Давайте потренируемся!

Создание дашбордов с помощью shinydashboard

Preparing Video For Download...