Zacznij terazZacznij za darmo

Dodawanie struktury do aplikacji

Układy w Shiny pozwalają nadać aplikacji strukturę poprzez umieszczenie elementów w określonych miejscach.

Układ z paskiem bocznym, tworzony za pomocą funkcji sidebarLayout(), zapewnia podstawowy dwukolumnowy układ – z węższym panelem bocznym po lewej i szerszym panelem głównym po prawej stronie.

Funkcja układu bocznego przyjmuje dwa argumenty: sidebarPanel() oraz mainPanel(). Każdy z tych paneli może zawierać dowolną kombinację elementów tekstowych i HTML – podobnie jak wewnątrz fluidPage().

To ćwiczenie jest częścią kursu

Studia przypadków: tworzenie aplikacji webowych w Shiny w R

Zobacz kurs

Instrukcje do ćwiczenia

Twoim zadaniem jest dodanie układu z paskiem bocznym do istniejącej aplikacji – dane wejściowe powinny znaleźć się po lewej stronie, a wyniki w panelu głównym. Konkretnie musisz:

  • Zdefiniować interfejs użytkownika (UI) aplikacji Shiny.
  • Dodać układ z paskiem bocznym do strony.
  • Dodać panel boczny do układu i umieścić w nim elementy wejściowe oraz tekst.
  • Dodać panel główny do układu i umieścić w nim wykres oraz tabelę.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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)
Edytuj i uruchom kod