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

Çıktı nesneleri oluşturma

Shiny'de bir çıktı oluşturmanın üç kuralı vardır:

  1. Nesneyi uygun render*() fonksiyonu ile oluştur.

  2. Sunucu fonksiyonunun parametresi olan output listesine, render fonksiyonunun sonucunu kaydet. Özellikle, UI'da kimliği outputId olan çıktı yer tutucusunu değiştirmek için sonucu output$<outputId> içine kaydet.

  3. Çıktı, kullanıcı tarafından değiştirilen herhangi bir giriş değerine bağlıysa, tüm girdilere sunucu fonksiyonunun input parametresi ile erişebilirsin. Özellikle, input$<inputId>, kimliği inputId olan 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ır
Kursu Görüntüle

Egzersiz 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 cars veri 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, iris veri 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)
Kodu Düzenle ve Çalıştır