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

"All" kıtalarının görüntülenmesine izin ver

Kıta seçiciyi eklemeden önce, Shiny uygulaması tüm kıtaların verilerini gösteriyordu. Kıta seçici eklendikten sonra veriler kıta bazında görüntülenebilir oldu. Peki ya kullanıcı aslında belirli bir kıtaya göre filtrelemek istemez ve hepsini görmek isterse? Ne yazık ki, kıta seçiciyi eklemek bu imkânı ortadan kaldırdı.

selectInput() fonksiyonunun choices argümanı, kıta listesine başka bir değer eklemek için değiştirilebilir ve bu değer seçildiğinde kıta filtresi kapatılabilir.

Bu egzersiz, kursun bir parçasıdır

Vaka Çalışmaları: R ile Shiny Kullanarak Web Uygulamaları Geliştirme

Kursa Göz Atın

Egzersiz talimatları

Seçim girişine tüm kıtalar için "All" seçeneği ekle. Bu seçenek seçildiğinde, herhangi bir kıta filtresi uygulama. Özellikle:

  • UI’daki select input’a sağlanan seçenekler listesine bir "All" değeri ekle.
  • Server tarafında, kıtanın "All" olarak ayarlanıp ayarlanmadığını kontrol etmek için bir if ifadesi kullan. Eğer "All" seçilmişse, kıtalarda herhangi bir filtreleme yapma (satır 20).

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

ui <- fluidPage(
  h1("Gapminder"),
  sliderInput(inputId = "life", label = "Life expectancy",
              min = 0, max = 120,
              value = c(30, 50)),
  # Add an "All" value to the continent list
  selectInput("continent", "Continent",
              choices = c(___, levels(gapminder$continent))),
  tableOutput("table")
)

server <- function(input, output) {
  output$table <- renderTable({
    data <- gapminder
    data <- subset(
      data,
      lifeExp >= input$life[1] & lifeExp <= input$life[2]
    )
    # Don't subset the data if "All" continent are chosen
    if (___) {
      data <- subset(
        data,
        continent == input$continent
      )
    }
    data
  })
}

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