MulaiMulai sekarang secara gratis

Tambahkan keluaran tabel interaktif

Ada banyak paket htmlwidgets seperti DT, leaflet, plotly, dan lain-lain yang menyediakan keluaran sangat interaktif dan dapat dengan mudah diintegrasikan ke dalam aplikasi Shiny dengan pola yang hampir sama. Misalnya, Anda dapat mengubah tabel statis di aplikasi Shiny menjadi tabel interaktif menggunakan paket DT:

  1. Buat tabel interaktif menggunakan DT::datatable().
  2. Render menggunakan DT::renderDT().
  3. Tampilkan menggunakan DT::DTOutput().

Dalam latihan ini, Anda akan memperbarui aplikasi yang dibuat sebelumnya dengan mengganti tabel statis menjadi tabel interaktif.

Latihan ini adalah bagian dari kursus

Membangun Aplikasi Web dengan Shiny di R

Lihat Kursus

Petunjuk latihan

  • Buat keluaran tabel interaktif menggunakan DT untuk 10 nama paling populer menurut jenis kelamin dan tahun. Anda dapat menggunakan fungsi top_10_names() untuk membuat data frame yang akan ditampilkan, lalu meneruskannya ke DT::datatable().
  • Tampilkan tabel tersebut di UI.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

ui <- fluidPage(
  titlePanel("What's in a Name?"),
  # Add select input named "sex" to choose between "M" and "F"
  selectInput('sex', 'Select Sex', choices = c("M", "F")),
  # Add slider input named "year" to select year between 1900 and 2010
  sliderInput('year', 'Select Year', min = 1900, max = 2010, value = 1900),
  # MODIFY CODE BELOW: Add a DT output named "table_top_10_names"
  tableOutput('table_top_10_names')
)

server <- function(input, output, session){
  top_10_names <- function(){
    babynames %>% 
      filter(sex == input$sex) %>% 
      filter(year == input$year) %>% 
      slice_max(prop, n = 10)
  }
  # MODIFY CODE BELOW: Render a DT output named "table_top_10_names"
  output$table_top_10_names <- renderTable({
    top_10_names()
  })
}

shinyApp(ui = ui, server = server)
Edit dan Jalankan Kode