ÎncepețiÎncepe gratuit

Adaugă o expresie reactivă

O expresie reactivă este o expresie R care folosește valorile introduse prin widget-uri și returnează un rezultat. Expresia reactivă va actualiza acest rezultat ori de câte ori widget-ul corespunzător se modifică. Expresiile reactive sunt evaluate leneș și au rezultatele stocate în cache.

În acest exercițiu, vei încapsula un calcul repetat sub forma unei expresii reactive.

Acest exercițiu face parte din cursul

Crearea aplicațiilor web cu Shiny în R

Vezi cursul

Instrucțiuni pentru exercițiu

  • Adaugă o expresie reactivă numită rval_bmi pentru a calcula IMC-ul.
  • Folosește această expresie reactivă pentru a înlocui calculele IMC din ambele rezultate.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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)
Editează și rulează codul