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 merupakan bagian dari kursus
Membangun Aplikasi Web dengan Shiny di R
Instruksi 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 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)