MulaiMulai sekarang secara gratis

Izinkan semua benua ("All") ditampilkan

Sebelum menambahkan pemilih benua, aplikasi Shiny menampilkan data untuk semua benua. Setelah pemilih benua ditambahkan, data dapat dilihat per benua. Namun bagaimana jika pengguna memutuskan sebenarnya mereka tidak ingin menyaring ke benua tertentu, dan lebih memilih melihat semuanya? Sayangnya, penambahan pemilih benua menghilangkan kemampuan tersebut.

Argumen choices pada fungsi selectInput() dapat dimodifikasi untuk menambahkan satu nilai lagi ke daftar benua, dan ketika nilai ini dipilih, penyaringan berdasarkan benua dapat dimatikan.

Latihan ini adalah bagian dari kursus

Studi Kasus: Membangun Aplikasi Web dengan Shiny di R

Lihat Kursus

Petunjuk latihan

Tambahkan opsi pada select input untuk memilih semua benua ("All"). Jika opsi tersebut dipilih, jangan lakukan penyaringan berdasarkan benua. Secara khusus:

  • Tambahkan nilai "All" ke daftar opsi yang disediakan untuk select input di UI.
  • Di server, gunakan pernyataan if untuk memeriksa apakah benua disetel ke "All". Jika "All" dipilih, maka jangan lakukan penyaringan apa pun pada benua (baris 20).

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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