Inputs en outputs

Casestudies: webapplicaties bouwen met Shiny in R

Dean Attali

Shiny Consultant

Inputs

Casestudies: webapplicaties bouwen met Shiny in R

Inputs

chapter1_2_inputs_and_outputs.005.png

Casestudies: webapplicaties bouwen met Shiny in R

Inputs

chapter1_2_inputs_and_outputs.006.png

Casestudies: webapplicaties bouwen met Shiny in R

Inputs bouwen

ui <- fluidPage(
    textInput(inputId = "name", label = "Enter your name",
              value = "Dean"),
    numericInput(inputId = "sibs", label = "How many siblings?",
                 value = 4, min = 0)
)
  • Inputfuncties: *Input(inputId, label, ...)
  • inputId = Unieke ID
  • label = Tekst die de input beschrijft
  • ... = Extra, inputspecifieke parameters
Casestudies: webapplicaties bouwen met Shiny in R

Outputs

  • Plots, tabellen, tekst – alles wat R maakt en gebruikers zien
  • Twee stappen:

    1. Maak een placeholder voor de output (in de UI)

      ui <- fluidPage(
       "Plot komt hier:",
       plotOutput(outputId = "my_plot")
      )
      
    2. Schrijf R-code die de output genereert (in de server)

Casestudies: webapplicaties bouwen met Shiny in R

De server

server <- function(input, output) {

  # Code for building outputs

}
  • input
    • Lees waarden hier (inputs die de gebruiker wijzigt)
  • output
    • Schrijf waarden hier (outputs zoals plots, tabellen)
Casestudies: webapplicaties bouwen met Shiny in R

Outputs bouwen

ui <- fluidPage(
    numericInput("num", "Number of rows", value = 10, min = 0),
    tableOutput("my_table")
)

server <- function(input, output) { output$my_table <- renderTable({ head(iris, n = input$num) }) }
  • 3 regels om een outputobject te bouwen:
    1. Bouw het object in een render-functie (renderPlot(), renderText(), etc.)
    2. Sla op naar output$<outputId>
    3. Gebruik input$<inputId> om de inputwaarde te lezen
Casestudies: webapplicaties bouwen met Shiny in R

Laten we oefenen!

Casestudies: webapplicaties bouwen met Shiny in R

Preparing Video For Download...