Aan de slagGa gratis aan de slag

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

Cursus bekijken

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)
Code bewerken en uitvoeren