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:
- Utwórz interaktywną tabelę za pomocą
DT::datatable(). - Wyrenderuj ją przy użyciu
DT::renderDT(). - 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
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ć funkcjitop_10_names(), aby wygenerować ramkę danych do wyświetlenia, i przekazać ją doDT::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)