Output bijwerken (server)
Je bent er bijna! De laatste stap is om de plotoutput te updaten zodat een lijndiagram van prop tegen year wordt getoond, ingekleurd per sex, voor de name die de gebruiker heeft ingevoerd. Je kunt deze plottemplate gebruiken om je plot te maken:
ggplot(subset(babynames, name == "David")) +
geom_line(aes(x = year, y = prop, color = sex))
Onthoud dat een gebruikersinvoer met de naam foo in de server toegankelijk is als input$foo. We hebben de pakketten shiny en ggplot2, evenals de babynames-gegevensset, al voor je geladen.
Deze oefening maakt deel uit van de cursus
Webapplicaties bouwen met Shiny in R
Oefeninstructies
- Voeg de plotcode toe binnen
renderPlot(). Zorg dat je de hardgecodeerde naam (name == "David") vervangt door de naam die de gebruiker heeft ingevoerd.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
ui <- fluidPage(
titlePanel("Baby Name Explorer"),
sidebarLayout(
sidebarPanel(textInput('name', 'Enter Name', 'David')),
mainPanel(plotOutput('trend'))
)
)
server <- function(input, output, session) {
output$trend <- renderPlot({
# CODE BELOW: Update to display a line plot of the input name
ggplot()
})
}
shinyApp(ui = ui, server = server)