Tambahkan select input
Menambahkan sebuah input ke aplikasi shiny adalah proses dua langkah: pertama Anda menambahkan fungsi ___Input("x") ke UI, lalu mengakses nilainya di server menggunakan input$x.
Sebagai contoh, jika Anda ingin pengguna memilih hewan dari sebuah daftar, Anda dapat menggunakan selectInput, dan merujuk ke nilai yang dipilih sebagai input$animal:
selectInput(
'animal',
'Select Animal',
selected = 'Cat',
choices = c('Dog', 'Cat')
)
Dalam latihan ini, Anda akan membangun aplikasi Shiny yang memungkinkan pengguna memvisualisasikan 10 nama paling populer berdasarkan jenis kelamin dengan menambahkan sebuah input untuk memilih jenis kelamin.
Latihan ini adalah bagian dari kursus
Membangun Aplikasi Web dengan Shiny di R
Petunjuk latihan
- Tambahkan select input bernama "sex" agar pengguna dapat memilih antara "M" dan "F", dengan default "F".
- Perbarui kode server untuk mengambil 10 nama teratas untuk jenis kelamin yang dipilih, bukan hanya "F" saja.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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)