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
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)