Çıktı nesneleri oluşturma
Shiny'de bir çıktı oluşturmanın üç kuralı vardır:
Nesneyi uygun
render*()fonksiyonu ile oluştur.Sunucu fonksiyonunun parametresi olan
outputlistesine, render fonksiyonunun sonucunu kaydet. Özellikle, UI'da kimliğioutputIdolan çıktı yer tutucusunu değiştirmek için sonucuoutput$<outputId>içine kaydet.Çıktı, kullanıcı tarafından değiştirilen herhangi bir giriş değerine bağlıysa, tüm girdilere sunucu fonksiyonunun
inputparametresi ile erişebilirsin. Özellikle,input$<inputId>, kimliğiinputIdolan giriş alanının güncel değerini her zaman döndürür.
Bu egzersiz
Vaka Çalışmaları: R ile Shiny Kullanarak Web Uygulamaları Geliştirme
kursunun bir parçasıdırEgzersiz talimatları
Sana, UI kısmı tamamen çalışan bir Shiny uygulaması verildi. Görevin tüm çıktıları oluşturmak. Özellikle:
- "cars_plot" kimliğine sahip grafik çıktı yer tutucusunda
carsveri kümesinin bir grafiğini oluştur (satır 23). - "greeting" metin çıktısında, ad girişi değerinin NAME olduğu "Hello NAME" biçiminde bir metin selamlaması üret (satır 28).
- "iris_table" çıktısında,
irisveri kümesinin ilk n satırını göster; burada n, sayısal girişin değeridir (satır 33).
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Load the shiny package
library(shiny)
# Define UI for the application
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
textInput("name", "What is your name?", "Dean"),
numericInput("num", "Number of flowers to show data for",
10, 1, nrow(iris))
),
mainPanel(
textOutput("greeting"),
plotOutput("cars_plot"),
tableOutput("iris_table")
)
)
)
# Define the server logic
server <- function(input, output) {
# Create a plot of the "cars" dataset
output$cars_plot <- render___({
plot(cars)
})
# Render a text greeting as "Hello "
output$greeting <- ___({
paste("Hello", ___)
})
# Show a table of the first n rows of the "iris" data
___ <- ___({
data <- iris[1:input$num, ]
data
})
}
# Run the application
shinyApp(ui = ui, server = server)