Filter berdasarkan harapan hidup
Manfaat nyata menggunakan Shiny muncul ketika input digabungkan dengan output. Tabel yang dibuat pada latihan sebelumnya bersifat statis—tidak dapat diubah—namun untuk eksplorasi, akan lebih baik jika pengguna dapat menentukan subhimpunan data yang ingin dilihat.
Hal ini dapat dicapai dengan menambahkan sebuah input yang memungkinkan pengguna memilih nilai untuk menyaring data. Dengan cara ini, tabel yang kita buat pada latihan sebelumnya dapat dibuat dinamis.
Salah satu variabel dalam himpunan data gapminder adalah lifeExp (harapan hidup). Tugas Anda adalah menambahkan input penggeser ke aplikasi Shiny yang memungkinkan pengguna memilih nilai minimum dan maksimum harapan hidup, dan tabel hanya akan menampilkan data yang sesuai dengan nilai-nilai tersebut.
Latihan ini adalah bagian dari kursus
Studi Kasus: Membangun Aplikasi Web dengan Shiny di R
Petunjuk latihan
- Tambahkan input penggeser ke UI dengan ID "life", nilai minimum 0, nilai maksimum 120, dan pilihan default 30–50.
- Di dalam fungsi render, gunakan nilai input untuk menyubhimpun data
gapminderagar hanya mencakup rekaman denganlifeExpyang berada di antara nilai minimum dan maksimum (keduanya inklusif).
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
ui <- fluidPage(
h1("Gapminder"),
# Add a slider for life expectancy filter
___(inputId = ___, label = "Life expectancy",
min = ___, max = ___,
value = c(30, 50)),
tableOutput("table")
)
server <- function(input, output) {
output$table <- renderTable({
data <- gapminder
data <- subset(
data,
# Use the life expectancy input to filter the data
lifeExp >= ___life[1] & lifeExp <= ___life[2]
)
data
})
}
shinyApp(ui, server)