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>Übungsanweisungen
- 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 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)