LoslegenKostenlos starten

Füge einen reaktiven Ausdruck hinzu

Ein reaktiver Ausdruck ist ein R-Ausdruck, der Widget-Eingaben nutzt und einen Wert zurückgibt. Der reaktive Ausdruck aktualisiert diesen Wert, sobald sich das zugrunde liegende Widget ändert. Reaktive Ausdrücke sind lazy und werden zwischengespeichert.

In dieser Übung kapselst du eine wiederholte Berechnung als reaktiven Ausdruck.

Diese Übung ist Teil des Kurses

<Kurs>Webanwendungen mit Shiny in R entwickeln</Kurs>
Kurs ansehen

Übungsanweisungen

  • Füge einen reaktiven Ausdruck namens rval_bmi hinzu, um den BMI zu berechnen.
  • Verwende diesen reaktiven Ausdruck, um die BMI-Berechnungen in beiden Ausgaben zu ersetzen.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

ui <- fluidPage(
  titlePanel('BMI Calculator'),
  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) {
  # CODE BELOW: Add a reactive expression rval_bmi to calculate BMI
  
  
  
  output$bmi <- renderText({
    # MODIFY CODE BELOW: Replace right-hand-side with reactive expression
    bmi <- input$weight/(input$height^2)
    paste("Your BMI is", round(bmi, 1))
  })
  output$bmi_range <- renderText({
    # MODIFY CODE BELOW: Replace right-hand-side with reactive expression
    bmi <- input$weight/(input$height^2)
    bmi_status <- cut(bmi, 
      breaks = c(0, 18.5, 24.9, 29.9, 40),
      labels = c('underweight', 'healthy', 'overweight', 'obese')
    )
    paste("You are", bmi_status)
  })
}

shinyApp(ui = ui, server = server)
Code bearbeiten und ausführen