Adaugă un tabel interactiv ca output
Există mai multe pachete htmlwidgets, precum DT, leaflet, plotly etc., care oferă rezultate foarte interactive și pot fi integrate cu ușurință în aplicații Shiny urmând aproape același tipar. De exemplu, poți transforma un tabel static dintr-o aplicație Shiny într-un tabel interactiv folosind pachetul DT:
- Creează un tabel interactiv cu
DT::datatable(). - Redă-l folosind
DT::renderDT(). - Afișează-l în interfață cu
DT::DTOutput().
În acest exercițiu, vei actualiza aplicația creată anterior, înlocuind tabelul static cu un tabel interactiv.
Acest exercițiu face parte din cursul
Crearea aplicațiilor web cu Shiny în R
Instrucțiuni pentru exercițiu
- Creează un tabel interactiv folosind
DTcu primele 10 cele mai populare nume, după sex și an. Poți folosi funcțiatop_10_names()pentru a genera un data frame de afișat, pe care să îl transmiți apoi cătreDT::datatable(). - Afișează tabelul în interfața UI.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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)