Zacznij terazZacznij za darmo

Dodaj interaktywną tabelę jako wynik

Istnieje wiele pakietów htmlwidgets, takich jak DT, leaflet, plotly itp., które oferują wysoce interaktywne wyniki i można je łatwo integrować z aplikacjami Shiny według niemal tego samego schematu. Na przykład statyczną tabelę w aplikacji Shiny możesz zamienić na interaktywną, korzystając z pakietu DT:

  1. Utwórz interaktywną tabelę za pomocą DT::datatable().
  2. Wyrenderuj ją przy użyciu DT::renderDT().
  3. Wyświetl ją za pomocą DT::DTOutput().

W tym ćwiczeniu zaktualizujesz wcześniej utworzoną aplikację, zastępując statyczną tabelę tabelą interaktywną.

To ćwiczenie jest częścią kursu

Tworzenie aplikacji internetowych z Shiny w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz interaktywną tabelę za pomocą pakietu DT, zawierającą 10 najpopularniejszych imion według płci i roku. Możesz użyć funkcji top_10_names(), aby wygenerować ramkę danych do wyświetlenia, i przekazać ją do DT::datatable().
  • Wyświetl tabelę w UI.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)
Edytuj i uruchom kod