Membangun objek output
Ada tiga aturan untuk membangun output di Shiny:
Bangun objek dengan fungsi
render*()yang sesuai.Simpan hasil dari fungsi render ke dalam daftar
output, yang merupakan parameter dari fungsi server. Secara spesifik, simpan keoutput$<outputId>untuk menggantikan placeholder output di UI yang memiliki IDoutputId.Jika output bergantung pada nilai input yang diubah pengguna, Anda dapat mengakses input apa pun menggunakan parameter
inputdari fungsi server. Secara spesifik,input$<inputId>akan selalu mengembalikan nilai terkini dari kolom input yang memiliki IDinputId.
Latihan ini adalah bagian dari kursus
Studi Kasus: Membangun Aplikasi Web dengan Shiny di R
Petunjuk latihan
Anda diberikan sebuah aplikasi Shiny dengan bagian UI yang sudah berfungsi penuh. Tugas Anda adalah membangun semua output. Secara khusus:
- Buat plot dari himpunan data
carspada placeholder output plot dengan ID "cars_plot" (baris 23). - Pada output teks "greeting", render salam teks dalam bentuk "Hello NAME", di mana NAME adalah nilai dari input name (baris 28).
- Pada output "iris_table", tampilkan tabel dari n baris pertama himpunan data
iris, di mana n adalah nilai dari input numerik (baris 33).
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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)