BaşlayınÜcretsiz Başlayın

Uzaylı gözlemleri: sekmeli düzen

Uygulama şu hâliyle, tablonun üstünde grafik olduğu için biraz kalabalık görünüyor. Bu bir gösterge paneli (dashboard) olduğuna göre, iki çıktıyı ayırmak daha iyi olabilir.

Gösterge panelini oluşturmanın son adımı, yazdığın plotOutput() ve tableOutput() bileşenlerini alıp sekmeli düzen eklemek.

Bu egzersiz

R ile Shiny Kullanarak Web Uygulamaları Geliştirme

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Sekme paneli düzenini ve iki sekmeyi ekle. İlkinde grafik, ikincisinde tablo bulunsun. İstediğin gibi, sana en mantıklı gelen adları verebilirsin!

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

ui <- fluidPage(
  titlePanel("UFO Sightings"),
  sidebarPanel(
    selectInput("state", "Choose a U.S. state:", choices = unique(usa_ufo_sightings$state)),
    dateRangeInput("dates", "Choose a date range:",
      start = "1920-01-01",
      end = "1950-01-01"
    )
  ),
  # MODIFY CODE BELOW: Create a tab layout for the dashboard
  mainPanel(
    plotOutput("shapes"),
    tableOutput("duration_table")
  )
)

server <- function(input, output) {
  output$shapes <- renderPlot({
    usa_ufo_sightings %>%
      filter(
        state == input$state,
        date_sighted >= input$dates[1],
        date_sighted <= input$dates[2]
      ) %>%
      ggplot(aes(shape)) +
      geom_bar() +
      labs(
        x = "Shape",
        y = "# Sighted"
      )
  })

  output$duration_table <- renderTable({
    usa_ufo_sightings %>%
      filter(
        state == input$state,
        date_sighted >= input$dates[1],
        date_sighted <= input$dates[2]
      ) %>%
      group_by(shape) %>%
      summarize(
        nb_sighted = n(),
        avg_duration_min = mean(duration_sec) / 60,
        median_duration_min = median(duration_sec) / 60,
        min_duration_min = min(duration_sec) / 60,
        max_duration_min = max(duration_sec) / 60
      )
  })
}

shinyApp(ui, server)
Kodu Düzenle ve Çalıştır