ÎncepețiÎncepe gratuit

Prima ta aplicație shiny

Ai văzut cum pot fi combinate intrările și ieșirile într-o aplicație shiny. Ai văzut, de asemenea, cum poate fi construită o aplicație shiny pentru a comunica rezultatele unui studiu despre somn.

Obiectivul tău acum este să creezi o aplicație shiny care să prezinte două rezultate principale:

  1. Distribuția orelor de somn
  2. Mediana orelor de somn pentru diferite grupe de vârstă

În acest exercițiu, datele sunt stocate sub forma unui cadru de date dplyr numit sleep, iar bibliotecile shiny și tidyverse sunt deja încărcate.

Acum e rândul tău să îți creezi propria aplicație shiny!

Acest exercițiu face parte din cursul

Crearea dashboardurilor cu shinydashboard

Vezi cursul

Instrucțiuni pentru exercițiu

  • Adaugă două ieșiri de tip grafic numite "histogram" și "barchart" în mainPanel.
  • În argumentul choiceNames din checkboxGroupInput(), înlocuiește conținutul cu pictograme numite "calendar", "briefcase" și "gift".
  • Definește cele două ieșiri: una numită histogram și alta numită barchart.
  • Folosește funcția shinyApp() pentru a randa aplicația shiny.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

ui <- fluidPage(
  titlePanel("Sleeping habits in America"), 
  fluidRow(
  # Place two plots here, called "histogram" and "barchart"
  mainPanel(___("histogram"), ___("barchart")), 
  inputPanel(sliderInput("binwidth", 
                         label = "Bin width", 
                         min = 0.1, max = 2, 
                         step = 0.01, value=0.25),
             checkboxGroupInput("days", "Choose types of days:",
                                # Replace the list elements with icons called "calendar", "briefcase" and "gift"
                                choiceNames = list("All days", 
                                                   "Non-holiday weekdays", 
                                                   "Weekend days/holidays"), 
                                choiceValues = list("All days", 
                                                    "Nonholiday weekdays", 
                                                    "Weekend days and holidays"))), 
  "In general, across the different age groups, Americans seem to get adequate daily rest." ))

server <- function(input, output, session) {
  # Define the histogram and barchart
  output$histogram <- ___({
    ggplot(sleep, aes(x=`Avg hrs per day sleeping`)) + 
    geom_histogram(binwidth = input$binwidth, col='white') + 
    theme_classic()
  })
  ___ <- ___({
    filter(sleep, `Type of Days` %in% input$days) %>%
      group_by(`Type of Days`, `Age Group`) %>%
      summarize(`Median hours` = median(`Avg hrs per day sleeping`)) %>%
      ggplot(aes(x = `Median hours`, y = `Age Group`, fill = `Type of Days`)) +
      geom_col(position = 'dodge') + theme_classic()
  })
}

# Use shinyApp() to render the shinyApp
___
Editează și rulează codul