Kom igångKom igång gratis

Källa vs. ledare vs. slutpunkt

Det som driver Shiny är reaktivitet. Som du lärde dig i den här lektionen finns det tre typer av reaktiva komponenter i en Shiny-app.

  1. Reaktiv källa: Användarindata som vanligtvis kommer via ett webbläsargränssnitt.
  2. Reaktiv ledare: En reaktiv komponent mellan en källa och en slutpunkt, som vanligtvis används för att kapsla in tunga beräkningar.
  3. Reaktiv slutpunkt: Något som visas i användarens webbläsarfönster, till exempel ett diagram eller en tabell med värden.
ui <- fluidPage(
  titlePanel('BMI Calculator'),
  theme = shinythemes::shinytheme('cosmo'),
  sidebarLayout(
    sidebarPanel(
      numericInput('height', 'Enter your height in meters', 1.5, 1, 2),
      numericInput('weight', 'Enter your weight in Kilograms', 60, 45, 120)
    ),
    mainPanel(
      textOutput("bmi"),
      textOutput("bmi_range")
    )
  )
)

server <- function(input, output, session) {
  rval_bmi <- reactive({
    input$weight/(input$height^2)
  })
  output$bmi <- renderText({
    bmi <- rval_bmi()
    paste("Your BMI is", round(bmi, 1))
  })
  output$bmi_range <- renderText({
    bmi <- rval_bmi()
    health_status <- cut(bmi, 
      breaks = c(0, 18.5, 24.9, 29.9, 40),
      labels = c('underweight', 'healthy', 'overweight', 'obese')
    )
    paste("You are", health_status)
  })
}

shinyApp(ui, server)

I den här övningen får du en uppsättning reaktiva komponenter. Klassificera var och en som en reaktiv källa, ledare eller slutpunkt.

Den här övningen är en del av kursen

Bygg webbapplikationer med Shiny i R

Visa kurs

Interaktiv övning med praktiskt arbete

Gör teori till handling med en av våra interaktiva övningar

Starta övningen