Füge eine interaktive Tabellenausgabe hinzu
Es gibt mehrere htmlwidgets-Pakete wie DT, leaflet, plotly usw., die sehr interaktive Ausgaben bereitstellen und sich mit nahezu demselben Muster leicht in Shiny-Apps integrieren lassen. So kannst du z. B. eine statische Tabelle in einer Shiny-App mit dem Paket DT in eine interaktive Tabelle verwandeln:
- Erstelle eine interaktive Tabelle mit
DT::datatable(). - Rendere sie mit
DT::renderDT(). - Zeige sie mit
DT::DTOutput()an.
In dieser Übung aktualisierst du die zuvor erstellte App und ersetzt die statische Tabelle durch eine interaktive Tabelle.
Diese Übung ist Teil des Kurses
Webanwendungen mit Shiny in R entwickeln
Anleitung zur Übung
- Erstelle eine interaktive Tabellenausgabe mit
DTfür die 10 beliebtesten Namen nach Geschlecht und Jahr. Du kannst die Funktiontop_10_names()verwenden, um einen Data Frame zur Anzeige zu erzeugen, und ihn anDT::datatable()übergeben. - Zeige die Tabelle im UI an.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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)