Типи введення

Створення панелей керування з shinydashboard

Png Kee Seng

Researcher

Функції введення

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

Приклад: дослідження сну

  • Уявімо, що ми провели дослідження сну й зібрали дані
  • Які введення може задати користувач shinyApp?

Графіка дослідження сну

1 Зображення: storyset з 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 — початковий стан прапорця
  • Є варіація checkboxInput, що зветься checkboxGroupInput
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...