ÎncepețiÎncepe gratuit

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:

  1. Creează un tabel interactiv cu DT::datatable().
  2. Redă-l folosind DT::renderDT().
  3. 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

Vezi cursul

Instrucțiuni pentru exercițiu

  • Creează un tabel interactiv folosind DT cu primele 10 cele mai populare nume, după sex și an. Poți folosi funcția top_10_names() pentru a genera un data frame de afișat, pe care să îl transmiți apoi către DT::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)
Editează și rulează codul