Typen invoer

Dashboards bouwen met shinydashboard

Png Kee Seng

Researcher

Invoerfuncties

  • In de UI kunnen gebruikers invoer geven
    • Zie dit als instructies voor de ober
  • In een shinyApp gaan instructies via de server
  • Dit doe je door invoerfuncties aan de UI toe te voegen
  • <type>input(<identificatielabel>, <weergavelabel>, ...)
    • Het eerste argument is een identificatielabel
    • Het tweede is een weergavelabel
    • De rest is specifiek voor het invoertype
Dashboards bouwen met shinydashboard

Voorbeeld: slaaponderzoek

  • Stel: we deden een slaaponderzoek en verzamelden data
  • Welke invoer kan een shinyApp-gebruiker geven?

Afbeelding van een slaaponderzoek

1 Afbeelding door storyset op Freepik
Dashboards bouwen met shinydashboard

selectInput

  • Een veelgebruikte invoer is selectInput()
  • Dit maakt een keuzemenu met meerdere opties
  • Het derde argument is een vector met opties
  • In dit voorbeeld zijn er vier opties
  • Laat de server voorlopig leeg
  • Render de shinyApp met 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)
Dashboards bouwen met shinydashboard

selectInput

selectInput met één selectie.

Dashboards bouwen met shinydashboard

selectInput met meerdere selecties

  • Je kunt ook het argument multiple toevoegen
    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)
    
Dashboards bouwen met shinydashboard

selectInput met meerdere selecties

selectInput met meerdere selecties

Dashboards bouwen met shinydashboard

textInput

  • Er zijn nog twee belangrijke argumenten
    • value: de vooraf ingevulde waarde
    • placeholder: een hint wat je moet invullen
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)
Dashboards bouwen met shinydashboard

textInput

textInput-demo

Dashboards bouwen met shinydashboard

checkboxInput

  • Dit geeft één selectievakje in de app
  • value: TRUE of FALSE, bepaalt de beginstand
  • Er is ook checkboxGroupInput, een variant op checkboxInput
ui <- fluidPage(
  titlePanel("Sleeping habits in America"), 
  checkboxInput("checkboxlabel",
                "65 years and over",

value = FALSE))
server <- function(input, output, session) { } shinyApp(ui, server)
Dashboards bouwen met shinydashboard

checkboxInput

checkboxInput-demo

Dashboards bouwen met shinydashboard

sliderInput

  • Dit maakt een schuifregelaar met twee opties
    • Kies één numerieke waarde uit een bereik
    • Kies twee numerieke waarden uit een bereik
  • Voor één waarde stel je min en max in
  • De beginwaarde staat in value
  • De stapgrootte in 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)
Dashboards bouwen met shinydashboard

sliderInput

sliderInput-demo. Gebruiker kan één waarde kiezen.

Dashboards bouwen met shinydashboard

sliderInput met bereiken

  • De schuifregelaar kan tweezijdig zijn als value een vector van lengte 2 is
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)
Dashboards bouwen met shinydashboard

sliderInput met bereiken

schuifregelaar met bereiken

Dashboards bouwen met shinydashboard

Laten we oefenen!

Dashboards bouwen met shinydashboard

Preparing Video For Download...