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)