Mulai sekarangMulai gratis

shinyApp pertama Anda

Anda telah melihat bagaimana input dan output dapat digabungkan dalam sebuah shinyApp. Anda juga telah melihat bagaimana sebuah shinyApp dapat disusun untuk menyampaikan hasil dari studi tidur.

Tujuan Anda sekarang adalah membuat shinyApp untuk melaporkan dua hasil utama:

  1. Distribusi jam tidur
  2. Median jam tidur di antara berbagai kelompok usia

Dalam latihan ini, kami telah menyimpan data dalam bentuk data frame dplyr bernama sleep, dan pustaka shiny serta tidyverse sudah dimuat.

Sekarang giliran Anda untuk membuat shinyApp Anda sendiri!

Latihan ini merupakan bagian dari kursus

Membangun Dashboard dengan shinydashboard

Lihat Kursus

Instruksi latihan

  • Tambahkan dua keluaran plot bernama "histogram" dan "barchart" ke mainPanel.
  • Pada argumen choiceNames di checkboxGroupInput(), ganti isinya dengan ikon bernama "calendar", "briefcase", dan "gift".
  • Definisikan dua output, masing-masing bernama histogram dan barchart.
  • Gunakan fungsi shinyApp() untuk merender aplikasi shiny.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

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
___
Edit dan Jalankan Kode