mirror of
https://github.com/rstudio/shiny.git
synced 2026-01-14 17:38:02 -05:00
* - Convert all example apps to single file app.R file - Make relevant updates to Readmes to match up with app.R structure - Add color to plots (RStudio blue) - In 04_mpg example: Show outliers by default, as opposed to hide, since this is more routine - In 06_tabsets and 08_html examples: Don't name random data vector "data" - Add extensive comments to app.R files and use consistent formatting of comments across examples - In 09_upload example: Use req() to check for NULL entry * add news entry summarizing changes * use true RStudio blue, #75AADB * Conver shinyApp calls at the end to drop argument name in examples 3-11, except for the custom HTML example. Kept them in for examples 1&2 for completeness in first exporuse to function. * Pull news items that got added before this PR was merged * Update comment for shinyApp function -- it creates an app object, doesn't run the app
65 lines
1.5 KiB
R
65 lines
1.5 KiB
R
library(shiny)
|
|
|
|
# Define UI for dataset viewer app ----
|
|
ui <- fluidPage(
|
|
|
|
# App title ----
|
|
titlePanel("Shiny Text"),
|
|
|
|
# Sidebar layout with a input and output definitions ----
|
|
sidebarLayout(
|
|
|
|
# Sidebar panel for inputs ----
|
|
sidebarPanel(
|
|
|
|
# Input: Selector for choosing dataset ----
|
|
selectInput(inputId = "dataset",
|
|
label = "Choose a dataset:",
|
|
choices = c("rock", "pressure", "cars")),
|
|
|
|
# Input: Numeric entry for number of obs to view ----
|
|
numericInput(inputId = "obs",
|
|
label = "Number of observations to view:",
|
|
value = 10)
|
|
),
|
|
|
|
# Main panel for displaying outputs ----
|
|
mainPanel(
|
|
|
|
# Output: Verbatim text for data summary ----
|
|
verbatimTextOutput("summary"),
|
|
|
|
# Output: HTML table with requested number of observations ----
|
|
tableOutput("view")
|
|
|
|
)
|
|
)
|
|
)
|
|
|
|
# Define server logic to summarize and view selected dataset ----
|
|
server <- function(input, output) {
|
|
|
|
# Return the requested dataset ----
|
|
datasetInput <- reactive({
|
|
switch(input$dataset,
|
|
"rock" = rock,
|
|
"pressure" = pressure,
|
|
"cars" = cars)
|
|
})
|
|
|
|
# Generate a summary of the dataset ----
|
|
output$summary <- renderPrint({
|
|
dataset <- datasetInput()
|
|
summary(dataset)
|
|
})
|
|
|
|
# Show the first "n" observations ----
|
|
output$view <- renderTable({
|
|
head(datasetInput(), n = input$obs)
|
|
})
|
|
|
|
}
|
|
|
|
# Create Shiny app ----
|
|
shinyApp(ui = ui, server = server)
|