ÎncepețiÎncepe gratuit

Adaugă structură aplicației tale

Layout-urile în Shiny îți permit să structurezi aplicația plasând elementele în pozițiile dorite.

Un layout cu bară laterală, creat cu funcția sidebarLayout(), oferă o structură de bază pe două coloane: o bară laterală mai îngustă în stânga și un panou principal mai larg în dreapta.

Funcția pentru layout-ul cu bară laterală primește doi argumenți: sidebarPanel() și mainPanel(). Fiecare dintre aceste panouri poate conține orice combinație de elemente text/HTML, similar modului în care poți combina aceste elemente în interiorul unui fluidPage().

Acest exercițiu face parte din cursul

Studii de caz: Construirea aplicațiilor web cu Shiny în R

Vezi cursul

Instrucțiuni pentru exercițiu

Sarcina ta este să adaugi un layout cu bară laterală aplicației existente, astfel încât elementele de input să fie în stânga, iar cele de output în panoul principal. Mai exact, trebuie să:

  • Definești interfața utilizator (UI) pentru aplicația Shiny.
  • Adaugi un layout cu bară laterală în pagină.
  • Adaugi un panou lateral în layout și să plasezi în el inputurile și textul.
  • Adaugi un panou principal în layout și să plasezi în el graficul și tabelul.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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)
Editează și rulează codul