Typer av indata

Bygga dashboards med shinydashboard

Png Kee Seng

Researcher

Indatafunktioner

  • I gränssnittet kan användare ge indata
    • Det är som instruktioner till en servitör
  • I en shinyApp kommuniceras instruktioner via servern
  • Det görs genom att lägga till indatafunktioner i gränssnittet
  • <type>input(<identifieringsetikett>, <visad etikett>, ...)
    • Det första argumentet är en identifieringsetikett
    • Det andra argumentet är en visad etikett
    • Övriga argument beror på typen av indata
Bygga dashboards med shinydashboard

Ett exempel: sömstudie

  • Tänk dig att vi genomfört en sömstudie och samlat in data
  • Vilka indata skulle en shinyApp-användare kunna ge?

Grafik från en sömstudie

1 Bild av storyset på Freepik
Bygga dashboards med shinydashboard

selectInput

  • En vanlig indatafunktion är selectInput()
  • Den skapar en rullgardinsmeny med många alternativ
  • Det tredje argumentet är en vektor med möjliga alternativ
  • I det här exemplet finns fyra möjliga alternativ.
  • Låt oss hålla servern tom för nu
  • Vi renderar shinyApp genom att köra 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)
Bygga dashboards med shinydashboard

selectInput

selectInput med ett enskilt val.

Bygga dashboards med shinydashboard

selectInput med flera val

  • Vi kan också lägga till argumentet 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)
    
Bygga dashboards med shinydashboard

selectInput med flera val

selectInput med flera val

Bygga dashboards med shinydashboard

textInput

  • Det finns ytterligare två viktiga argument
    • value: det värde som textrutan fylls i med från start
    • placeholder: en förhandsgranskning av vad textrutan bör innehålla
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)
Bygga dashboards med shinydashboard

textInput

Demo av textInput

Bygga dashboards med shinydashboard

checkboxInput

  • Den här funktionen lägger till en enskild kryssruta i appen
  • value: antingen TRUE eller FALSE, för att ange kryssrutans starttillstånd
  • Det finns också en variant av checkboxInput som heter checkboxGroupInput
ui <- fluidPage(
  titlePanel("Sleeping habits in America"), 
  checkboxInput("checkboxlabel",
                "65 years and over",

value = FALSE))
server <- function(input, output, session) { } shinyApp(ui, server)
Bygga dashboards med shinydashboard

checkboxInput

Demo av checkboxInput

Bygga dashboards med shinydashboard

sliderInput

  • Den här funktionen skapar ett reglage med två användningsområden
    • Välja ett enskilt numeriskt värde från ett talintervall
    • Välja två numeriska värden från ett talintervall
  • För att välja ett enda värde behöver vi ange min och max
  • Startvärdet bestäms av value
  • Stegstorleken bestäms av 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)
Bygga dashboards med shinydashboard

sliderInput

Demo av sliderInput. Användaren kan välja ett enda värde.

Bygga dashboards med shinydashboard

sliderInput med intervall

  • Reglaget kan göras dubbelsidigt om value anges som en vektor med längd 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)
Bygga dashboards med shinydashboard

sliderInput med intervall

Reglage med intervall

Bygga dashboards med shinydashboard

Nu kör vi en övning!

Bygga dashboards med shinydashboard

Preparing Video For Download...