Bir select input ekle
Bir shiny uygulamasına input eklemek iki adımlı bir işlemdir: önce UI tarafına bir ___Input("x") fonksiyonu eklersin, sonra sunucuda değerine input$x ile erişirsin.
Örneğin, kullanıcıların bir listeden hayvan seçmesini istersen, selectInput kullanabilir ve seçilen değere input$animal olarak başvurabilirsin:
selectInput(
'animal',
'Select Animal',
selected = 'Cat',
choices = c('Dog', 'Cat')
)
Bu egzersizde, kullanıcıların cinsiyete göre en popüler ilk 10 ismi görselleştirmesine olanak tanıyan bir Shiny uygulaması oluşturacaksın; bunun için kullanıcıların cinsiyet seçebilmesini sağlayan bir input ekleyeceksin.
Bu egzersiz
R ile Shiny Kullanarak Web Uygulamaları Geliştirme
kursunun bir parçasıdırEgzersiz talimatları
- Kullanıcıların "M" ve "F" arasında seçim yapabilmesi için adı "sex" olan bir select input ekle; varsayılan değer "F" olsun.
- Sunucu kodunu, yalnızca "F" yerine seçilen cinsiyet için ilk 10 ismi alacak şekilde güncelle.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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)