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ırEgzersiz 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)