"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
Vaka Çalışmaları: R ile Shiny Kullanarak Web Uygulamaları Geliştirme
kursunun bir parçasıdırEgzersiz 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ı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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)