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

Uygulamana yapı ekleme

Shiny’de düzenler (layouts), öğeleri belirli konumlara yerleştirerek uygulamana bir yapı kazandırmak için kullanılır.

sidebarLayout() fonksiyonuyla oluşturulan bir kenar çubuğu düzeni, solda daha küçük bir kenar çubuğu ve sağda daha büyük bir ana panel olacak şekilde temel bir iki sütunlu yapı sunar.

Kenar çubuğu düzeni fonksiyonu iki argüman alır: sidebarPanel() ve mainPanel(). Bu panellerin her birine, fluidPage() içinde bu öğeleri nasıl karıştırabiliyorsan benzer şekilde, serbestçe metin/HTML öğeleri ekleyebilirsin.

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ı

Görevin, mevcut uygulamaya bir kenar çubuğu düzeni eklemek; böylece girdiler solda, çıktılar ise ana panelde yer alacak. Özellikle şunları yapmalısın:

  • Shiny uygulamasının UI’ını tanımla.
  • Sayfaya bir kenar çubuğu düzeni ekle.
  • Düzen içine bir kenar çubuğu paneli ekle ve girdileri ile metni burada konumlandır.
  • Düzen içine bir ana panel ekle ve grafiği ile tabloyu burada konumlandır.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Load the shiny package
library(shiny)

# Define UI for the application
ui <- ___(
  # Add a sidebar layout to the application
  ___(
    # Add a sidebar panel around the text and inputs
    ___(
      h4("Plot parameters"),
      textInput("title", "Plot title", "Car speed vs distance to stop"),
      numericInput("num", "Number of cars to show", 30, 1, nrow(cars)),
      sliderInput("size", "Point size", 1, 5, 2, 0.5)
    ),
    # Add a main panel around the plot and table
    ___(
      plotOutput("plot"),
      tableOutput("table")
    )
  )
)

# Define the server logic
server <- function(input, output) {
  output$plot <- renderPlot({
    plot(cars[1:input$num, ], main = input$title, cex = input$size)
  })
  output$table <- renderTable({
    cars[1:input$num, ]
  })
}

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