MulaiMulai sekarang secara gratis

Menambahkan struktur ke aplikasi Anda

Tata letak (layout) dalam Shiny digunakan untuk memberikan struktur pada aplikasi Anda dengan menempatkan elemen di posisi yang diinginkan.

Sebuah sidebar layout, yang dibuat dengan fungsi sidebarLayout(), menyediakan struktur dua kolom dasar dengan sidebar lebih kecil di sebelah kiri dan panel utama yang lebih besar di sebelah kanan.

Fungsi sidebar layout menerima dua argumen: sidebarPanel() dan mainPanel(). Masing-masing panel ini dapat memuat campuran elemen teks/HTML apa pun, serupa dengan cara Anda dapat mencampurkan elemen-elemen tersebut di dalam fluidPage().

Latihan ini adalah bagian dari kursus

Studi Kasus: Membangun Aplikasi Web dengan Shiny di R

Lihat Kursus

Petunjuk latihan

Tugas Anda adalah menambahkan sidebar layout ke aplikasi yang sudah ada, sehingga input berada di sisi kiri dan output berada di panel utama. Secara khusus, Anda perlu:

  • Mendefinisikan UI untuk aplikasi Shiny.
  • Menambahkan sidebar layout ke halaman.
  • Menambahkan panel sidebar ke layout, lalu tempatkan input dan teks di dalamnya.
  • Menambahkan panel utama ke layout, lalu tempatkan plot dan tabel di dalamnya.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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)
Edit dan Jalankan Kode