Tipuri de intrări

Crearea dashboardurilor cu shinydashboard

Png Kee Seng

Researcher

Funcții de intrare

  • În UI, utilizatorii pot furniza intrări
    • Acestea sunt ca instrucțiunile date chelnerului
  • Într-o shinyApp, instrucțiunile sunt transmise prin server
  • Aceasta se realizează prin adăugarea funcțiilor de intrare în UI
  • <type>input(<identifying label>, <displayed label>, ...)
    • Primul argument este o etichetă de identificare
    • Al doilea argument este o etichetă afișată
    • Celelalte argumente sunt specifice tipului de intrare
Crearea dashboardurilor cu shinydashboard

Un exemplu: studiu despre somn

  • Să presupunem că am efectuat un studiu despre somn și am colectat date
  • Ce intrări ar putea oferi un utilizator al shinyApp?

Grafică a unui studiu despre somn

1 Imagine de storyset pe Freepik
Crearea dashboardurilor cu shinydashboard

selectInput

  • O intrare des utilizată este selectInput()
  • Aceasta creează un meniu derulant cu mai multe opțiuni
  • Al treilea argument este un vector cu opțiunile posibile
  • În acest exemplu, avem patru opțiuni posibile.
  • Deocamdată, să lăsăm serverul gol
  • Să redăm shinyApp rulând 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)
Crearea dashboardurilor cu shinydashboard

selectInput

selectInput cu o singură selecție.

Crearea dashboardurilor cu shinydashboard

selectInput cu selecții multiple

  • Putem adăuga și argumentul 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)
    
Crearea dashboardurilor cu shinydashboard

selectInput cu selecții multiple

selectInput cu selecții multiple

Crearea dashboardurilor cu shinydashboard

textInput

  • Există alte două argumente importante
    • value: valoarea cu care câmpul este pre-completat
    • placeholder: o previzualizare a ce trebuie introdus în câmp
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)
Crearea dashboardurilor cu shinydashboard

textInput

Demo textInput

Crearea dashboardurilor cu shinydashboard

checkboxInput

  • Adaugă o singură casetă de selectare în aplicație
  • value: TRUE sau FALSE, pentru starea inițială a casetei
  • Există și o variantă a checkboxInput, numită checkboxGroupInput
ui <- fluidPage(
  titlePanel("Sleeping habits in America"), 
  checkboxInput("checkboxlabel",
                "65 years and over",

value = FALSE))
server <- function(input, output, session) { } shinyApp(ui, server)
Crearea dashboardurilor cu shinydashboard

checkboxInput

Demo checkboxInput

Crearea dashboardurilor cu shinydashboard

sliderInput

  • Produce un cursor care permite utilizatorului să facă unul din două lucruri
    • Selectarea unui singur număr dintr-un interval
    • Selectarea a două numere dintr-un interval
  • Pentru o singură valoare, trebuie setate min și max
  • Valoarea inițială este determinată de value
  • Pasul este determinat de 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)
Crearea dashboardurilor cu shinydashboard

sliderInput

Demo sliderInput. Utilizatorul poate selecta o singură valoare.

Crearea dashboardurilor cu shinydashboard

sliderInput cu intervale

  • Cursorul poate fi cu două capete dacă value este un vector de lungime 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)
Crearea dashboardurilor cu shinydashboard

sliderInput cu intervale

cursor cu intervale

Crearea dashboardurilor cu shinydashboard

Să exersăm!

Crearea dashboardurilor cu shinydashboard

Preparing Video For Download...