MulaiMulai sekarang secara gratis

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

Lihat Kursus

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 gapminder agar hanya mencakup rekaman dengan lifeExp yang 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)
Edit dan Jalankan Kode