Mulai sekarangMulai 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 merupakan bagian dari kursus

Membangun Aplikasi Web dengan Shiny di R

Lihat Kursus

Instruksi 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 langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

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