Tipi di input

Creare dashboard con shinydashboard

Png Kee Seng

Researcher

Funzioni di input

  • Nella UI, l'utente può fornire input
    • Sono come istruzioni al cameriere
  • In una shinyApp, le istruzioni passano dal server
  • Si fa aggiungendo funzioni di input alla UI
  • <type>input(<identifying label>, <displayed label>, ...)
    • Il primo argomento è un'etichetta identificativa
    • Il secondo è l'etichetta mostrata
    • Gli altri argomenti dipendono dal tipo di input
Creare dashboard con shinydashboard

Esempio: studio sul sonno

  • Immagina di aver fatto uno studio sul sonno e raccolto dati
  • Che input può dare l'utente di una shinyApp?

Grafica di uno studio sul sonno

1 Immagine di storyset su Freepik
Creare dashboard con shinydashboard

selectInput

  • Un input comune è selectInput()
  • Crea un menu a discesa con molte opzioni
  • Il terzo argomento è un vettore con le opzioni
  • In questo esempio ci sono quattro opzioni.
  • Per ora lasciamo il server vuoto
  • Esegui shinyApp() per renderizzare la 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)
Creare dashboard con shinydashboard

selectInput

selectInput con una singola selezione.

Creare dashboard con shinydashboard

selectInput con selezioni multiple

  • Possiamo aggiungere l'argomento 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)
    
Creare dashboard con shinydashboard

selectInput con selezioni multiple

selectInput con selezioni multiple

Creare dashboard con shinydashboard

textInput

  • Altri due argomenti importanti
    • value: valore precompilato nella casella di testo
    • placeholder: esempio di cosa inserire nella casella
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)
Creare dashboard con shinydashboard

textInput

Demo di textInput

Creare dashboard con shinydashboard

checkboxInput

  • Fornisce una singola checkbox nell'app
  • value: TRUE o FALSE, imposta lo stato iniziale
  • Esiste anche checkboxGroupInput, una variazione di checkboxInput
ui <- fluidPage(
  titlePanel("Sleeping habits in America"), 
  checkboxInput("checkboxlabel",
                "65 years and over",

value = FALSE))
server <- function(input, output, session) { } shinyApp(ui, server)
Creare dashboard con shinydashboard

checkboxInput

Demo di checkboxInput

Creare dashboard con shinydashboard

sliderInput

  • Crea uno slider che permette due cose
    • Selezionare un singolo valore numerico da un intervallo
    • Selezionare due valori numerici da un intervallo
  • Per un singolo valore, imposta min e max
  • Il valore iniziale è value
  • Il passo è 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)
Creare dashboard con shinydashboard

sliderInput

Demo di sliderInput. L'utente può selezionare un solo valore.

Creare dashboard con shinydashboard

sliderInput con intervalli

  • Lo slider può essere a due estremi se value è un vettore di lunghezza 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)
Creare dashboard con shinydashboard

sliderInput con intervalli

slider con intervalli

Creare dashboard con shinydashboard

Vamos praticar!

Creare dashboard con shinydashboard

Preparing Video For Download...