Aan de slagGa gratis aan de slag

App 3: Populaire babynamen Redux

Top! Hopelijk vond je het leuk om die app te bouwen die populaire babynamen als kolomgrafiek laat zien. Laten we dit hoofdstuk afronden door de app die we eerder bouwden uit te breiden met een tabel die de top 10 babynamen als tab toont. Je uiteindelijke app zou er visueel uit moeten zien zoals in de onderstaande screenshot.

An app where the name selector  and year slider appears in the left sidebar, while the graph and table appear as tabs on the right in the main panel

Let op: we hebben een functie get_top_names() meegeleverd om de top 10 namen op te halen voor een gegeven year en sex. Je kunt de top 10 jongensnamen voor het jaar 2000 krijgen met get_top_names(2000, "M").

Deze oefening maakt deel uit van de cursus

Webapplicaties bouwen met Shiny in R

Cursus bekijken

Oefeninstructies

  • De meegeleverde code is de app die je in de vorige oefening hebt gebouwd. Pas deze code aan om een output aan de server toe te voegen die een tabel met populaire namen toont.
  • Plaats de grafiek- en tabelresultaten in de UI als tabs.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# MODIFY this app (built in the previous exercise)
ui <- fluidPage(
  titlePanel("Most Popular Names"),
  sidebarLayout(
    sidebarPanel(
      selectInput('sex', 'Select Sex', c("M", "F")),
      sliderInput('year', 'Select Year', min = 1880, max = 2017, value = 1900)
    ),
    mainPanel(
     plotOutput('plot')
    )
  )
)

server <- function(input, output, session) {
  output$plot <- renderPlot({
    top_names_by_sex_year <- get_top_names(input$year, input$sex) 
    ggplot(top_names_by_sex_year, aes(x = name, y = prop)) +
      geom_col()
  })
}

shinyApp(ui = ui, server = server)
Code bewerken en uitvoeren