Lecture 19
College of Idaho
CSCI 2025 - Winter 2026
fluidPage().server().inputId and label.inputId: Unique identifier for accessing the input in the server (e.g., input$name).
label: Human-readable label for the control.value: (Optional) Default value.textInput(): Simple text box.passwordInput(): Text box with masked characters.textAreaInput(): Multi-line text box.numericInput(): Text box allowing only numbers.sliderInput(): Slider for selecting a single value or a range.dateInput(): Select a single date.dateRangeInput(): Select a range of dates.Date objects.selectInput(): Dropdown menu (single or multiple selection).radioButtons(): Radio buttons (single selection).checkboxGroupInput(): Checkboxes (multiple selection).fileInput(): Upload files (Chapter 9).actionButton() / actionLink(): Trigger an action (e.g., reset, calculate).checkboxInput(): Single checkbox (TRUE/FALSE).*Output(outputId)
output$ID <- render*({ code })
render* function must match the *Output function.textOutput(): pairs with renderText().
verbatimTextOutput(): pairs with renderPrint().
tableOutput(): pairs with renderTable().
dataTableOutput(): pairs with renderDataTable().
DT package (often used instead of shiny::dataTableOutput).plotOutput(): pairs with renderPlot().
res = 96 in renderPlot() is a good default.Let’s do some practice!
textInput, numericInput, sliderInput, selectInput, etc.
inputId and label.textOutput, tableOutput, plotOutput.
*Output("ID").output$ID <- render*({ ... }).