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
Webanwendungen mit Shiny in R entwickeln
Anleitung zur Übung
- Füge einen reaktiven Ausdruck namens
rval_bmihinzu, um den BMI zu berechnen. - Verwende diesen reaktiven Ausdruck, um die BMI-Berechnungen in beiden Ausgaben zu ersetzen.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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)