Typy danych wejściowych

Tworzenie dashboardów z shinydashboard

Png Kee Seng

Researcher

Funkcje wejściowe

  • W UI użytkownicy mogą podawać dane wejściowe
    • To jak zamówienia składane kelnerowi
  • W shinyApp instrukcje są przekazywane przez serwer
  • Odbywa się to przez dodanie funkcji wejściowych do UI
  • <type>input(<identifying label>, <displayed label>, ...)
    • Pierwszy argument to etykieta identyfikacyjna
    • Drugi argument to etykieta wyświetlana
    • Pozostałe argumenty zależą od typu danych wejściowych
Tworzenie dashboardów z shinydashboard

Przykład: badanie snu

  • Wyobraźmy sobie, że przeprowadzono badanie snu i zebrano dane
  • Jakie dane wejściowe mógłby podać użytkownik shinyApp?

Grafika przedstawiająca badanie snu

1 Grafika: storyset on Freepik
Tworzenie dashboardów z shinydashboard

selectInput

  • Często używanym wejściem jest selectInput()
  • Tworzy menu rozwijane z wieloma opcjami
  • Trzeci argument to wektor możliwych opcji
  • W tym przykładzie mamy cztery możliwe opcje.
  • Na razie pozostawmy serwer pusty
  • Uruchommy shinyApp, wywołując 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)
Tworzenie dashboardów z shinydashboard

selectInput

selectInput z pojedynczym wyborem.

Tworzenie dashboardów z shinydashboard

selectInput z wielokrotnym wyborem

  • Można również dodać argument 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)
    
Tworzenie dashboardów z shinydashboard

selectInput z wielokrotnym wyborem

selectInput z wielokrotnym wyborem

Tworzenie dashboardów z shinydashboard

textInput

  • Istnieją dwa inne ważne argumenty
    • value: wartość wstępnie wypełniająca pole tekstowe
    • placeholder: podpowiedź dotycząca zawartości pola
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)
Tworzenie dashboardów z shinydashboard

textInput

Demo textInput

Tworzenie dashboardów z shinydashboard

checkboxInput

  • Tworzy jedno pole wyboru w aplikacji
  • value: TRUE lub FALSE, określa stan początkowy pola wyboru
  • Istnieje także wariant checkboxInput o nazwie checkboxGroupInput
ui <- fluidPage(
  titlePanel("Sleeping habits in America"), 
  checkboxInput("checkboxlabel",
                "65 years and over",

value = FALSE))
server <- function(input, output, session) { } shinyApp(ui, server)
Tworzenie dashboardów z shinydashboard

checkboxInput

Demo checkboxInput

Tworzenie dashboardów z shinydashboard

sliderInput

  • Tworzy suwak umożliwiający wykonanie jednej z dwóch czynności
    • Wybór pojedynczej wartości liczbowej z zakresu
    • Wybór dwóch wartości liczbowych z zakresu
  • Aby wybrać pojedynczą wartość, należy ustawić min i max
  • Wartość początkową określa value
  • Rozmiar kroku określa 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)
Tworzenie dashboardów z shinydashboard

sliderInput

Demo sliderInput. Użytkownik może wybrać jedną wartość.

Tworzenie dashboardów z shinydashboard

sliderInput z zakresem

  • Suwak staje się dwustronny, gdy value jest wektorem długości 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)
Tworzenie dashboardów z shinydashboard

sliderInput z zakresem

Suwak z zakresem

Tworzenie dashboardów z shinydashboard

Czas na ćwiczenia!

Tworzenie dashboardów z shinydashboard

Preparing Video For Download...