LoslegenKostenlos loslegen

Füge einen weiteren reaktiven Ausdruck hinzu

Ein reaktiver Ausdruck kann andere reaktive Ausdrücke aufrufen. So kannst du Berechnungen modularisieren und sicherstellen, dass sie NICHT wiederholt ausgeführt werden. Den Umgang mit reaktiven Ausdrücken zu beherrschen, ist entscheidend, um performante Shiny-Anwendungen zu bauen.

In dieser Übung verwendest du einen reaktiven Ausdruck, um den Gesundheitsstatus basierend auf dem BMI zu berechnen.

Diese Übung ist Teil des Kurses

Webanwendungen mit Shiny in R entwickeln

Kurs anzeigen

Anleitung zur Übung

  • Füge einen reaktiven Ausdruck rval_bmi_status hinzu, um den BMI-Status zu berechnen.
  • Verwende diesen reaktiven Ausdruck, um die BMI-Status-Berechnungen in der Ausgabe 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_status")
    )
  )
)

server <- function(input, output, session) {
  rval_bmi <- reactive({
    input$weight/(input$height^2)
  })
  # CODE BELOW: Add a reactive expression rval_bmi_status to 
  # return health status as underweight etc. based on inputs
  
  
  
  
  output$bmi <- renderText({
    bmi <- rval_bmi()
    paste("Your BMI is", round(bmi, 1))
  })
  output$bmi_status <- renderText({
    # MODIFY CODE BELOW: Replace right-hand-side with 
    # reactive expression rval_bmi_status
    bmi_status <- cut(rval_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