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:
- Buat tabel interaktif menggunakan
DT::datatable(). - Render menggunakan
DT::renderDT(). - 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
Petunjuk latihan
- Buat keluaran tabel interaktif menggunakan
DTuntuk 10 nama paling populer menurut jenis kelamin dan tahun. Anda dapat menggunakan fungsitop_10_names()untuk membuat data frame yang akan ditampilkan, lalu meneruskannya keDT::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)