Kom igångKom igång gratis

Lägg till en interaktiv tabellutdata

Det finns flera htmlwidgets-paket, som DT, leaflet och plotly, som tillhandahåller mycket interaktiva utdata och enkelt kan integreras i Shiny-appar med nästan samma mönster. Du kan till exempel omvandla en statisk tabell i en Shiny-app till en interaktiv tabell med paketet DT:

  1. Skapa en interaktiv tabell med DT::datatable().
  2. Rendera den med DT::renderDT().
  3. Visa den med DT::DTOutput().

I den här övningen uppdaterar du den tidigare skapade appen och ersätter den statiska tabellen med en interaktiv tabell.

Den här övningen är en del av kursen

Bygg webbapplikationer med Shiny i R

Visa kurs

Övningsinstruktioner

  • Skapa en interaktiv tabellutdata med DT som visar de 10 populäraste namnen per kön och år. Använd funktionen top_10_names() för att generera en dataram att visa, och skicka den till DT::datatable().
  • Visa tabellen i gränssnittet (UI).

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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)
Redigera och kör kod