BaşlayınÜcretsiz Başlayın

Yıl filtresi ekle: sayısal kaydırıcı girişi

Kaydırıcı girişleri, sayısal girişlere benzer amaçlarla kullanılabilir; çünkü her ikisi de kullanıcıya bir sayı seçme imkânı sunar.

Eğer kaydırıcının başlangıç değeri (value argümanı) tek bir sayıysa, kaydırıcı tekil sayılar seçmek için kullanılır. Ancak başlangıç değeri iki sayıdan oluşan bir vektörse, bu kez kaydırıcı tek bir değer yerine iki sayı seçmek için kullanılır.

Farklı girişlerin farklı argümanlara sahip olabildiğini görmüştük. Her girdinin tam olarak hangi argümanları kullandığını akılda tutmak zor olabilir. Belirli bir giriş fonksiyonuyla hangi argümanları kullanabileceğini öğrenmenin tek yolu, onun dokümantasyonuna ya da yardım dosyasına bakmaktır.

Bu egzersiz

Vaka Çalışmaları: R ile Shiny Kullanarak Web Uygulamaları Geliştirme

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • UI'a ID'si "years" ve etiketi "Years" olan bir sliderInput() ekle (satır 14).
    • Minimum değeri veri kümesindeki en erken yıla, maksimum değeri ise en son yıla ayarla.
    • Varsayılan olarak kaydırıcının uç noktaları 1977 ve 2002 olmalı; böylece bu iki yıl dâhil olmak üzere aradaki veriler gösterilsin.
  • Sunucuya, girişte seçilen yılların gapminder verisini alt kümeye ayırmak için kullanılacağı ve yalnızca bu yıllar içindeki kayıtların görüneceği şekilde kod ekle (satır 28).

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

ui <- fluidPage(
  sidebarLayout(
    sidebarPanel(
      textInput("title", "Title", "GDP vs life exp"),
      numericInput("size", "Point size", 1, 1),
      checkboxInput("fit", "Add line of best fit", FALSE),
      radioButtons("color", "Point color",
                   choices = c("blue", "red", "green", "black")),
      selectInput("continents", "Continents",
                  choices = levels(gapminder$continent),
                  multiple = TRUE,
                  selected = "Europe"),
      # Add a slider selector for years to filter
      ___("years", ___, ___, ___, ___)
    ),
    mainPanel(
      plotOutput("plot")
    )
  )
)

# Define the server logic
server <- function(input, output) {
  output$plot <- renderPlot({
    # Subset the gapminder data by the chosen years
    data <- subset(gapminder,
                   continent %in% input$continents &
                   year >= ___$years[1] & year <= ___$years[2])
    
    p <- ggplot(data, aes(gdpPercap, lifeExp)) +
      geom_point(size = input$size, col = input$color) +
      scale_x_log10() +
      ggtitle(input$title)
    
    if (input$fit) {
      p <- p + geom_smooth(method = "lm")
    }
    p
  })
}

shinyApp(ui = ui, server = server)
Kodu Düzenle ve Çalıştır