Dodaj pole wyboru (select input)
Dodawanie elementu wejściowego do aplikacji Shiny to proces dwuetapowy: najpierw dodajesz funkcję ___Input("x") do interfejsu użytkownika (UI), a następnie odczytujesz jej wartość w serwerze za pomocą input$x.
Na przykład, jeśli chcesz, żeby użytkownicy mogli wybrać zwierzę z listy, możesz użyć selectInput i odwołać się do wybranej wartości przez input$animal:
selectInput(
'animal',
'Select Animal',
selected = 'Cat',
choices = c('Dog', 'Cat')
)
W tym ćwiczeniu zbudujesz aplikację Shiny, która pozwoli użytkownikom wizualizować 10 najpopularniejszych imion według płci – w tym celu dodasz pole wyboru płci.
To ćwiczenie jest częścią kursu
Tworzenie aplikacji internetowych z Shiny w R
Instrukcje do ćwiczenia
- Dodaj pole wyboru o nazwie "sex", które umożliwi użytkownikom wybór między "M" a "F", z domyślną wartością "F".
- Zaktualizuj kod serwera tak, aby wyświetlał 10 najpopularniejszych imion dla wybranej płci, a nie wyłącznie dla "F".
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
ui <- fluidPage(
titlePanel("What's in a Name?"),
# CODE BELOW: Add select input named "sex" to choose between "M" and "F"
# Add plot output to display top 10 most popular names
plotOutput('plot_top_10_names')
)
server <- function(input, output, session){
# Render plot of top 10 most popular names
output$plot_top_10_names <- renderPlot({
# Get top 10 names by sex and year
top_10_names <- babynames %>%
# MODIFY CODE BELOW: Filter for the selected sex
filter(sex == "F") %>%
filter(year == 1900) %>%
slice_max(prop, n = 10)
# Plot top 10 names by sex and year
ggplot(top_10_names, aes(x = name, y = prop)) +
geom_col(fill = "#263e63")
})
}
shinyApp(ui = ui, server = server)