ÎncepețiÎncepe gratuit

Sursă vs. Conductor vs. Endpoint

Magia din spatele Shiny este alimentată de reactivitate. Așa cum ai învățat în această lecție, există trei tipuri de componente reactive într-o aplicație Shiny.

  1. Sursă reactivă: De obicei, input-ul utilizatorului transmis printr-o interfață de browser.
  2. Conductor reactiv: Componentă reactivă situată între o sursă și un endpoint, folosită de obicei pentru a încapsula calcule lente.
  3. Endpoint reactiv: Ceva ce apare în fereastra browserului utilizatorului, cum ar fi un grafic sau un tabel de valori.
ui <- fluidPage(
  titlePanel('BMI Calculator'),
  theme = shinythemes::shinytheme('cosmo'),
  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) {
  rval_bmi <- reactive({
    input$weight/(input$height^2)
  })
  output$bmi <- renderText({
    bmi <- rval_bmi()
    paste("Your BMI is", round(bmi, 1))
  })
  output$bmi_range <- renderText({
    bmi <- rval_bmi()
    health_status <- cut(bmi, 
      breaks = c(0, 18.5, 24.9, 29.9, 40),
      labels = c('underweight', 'healthy', 'overweight', 'obese')
    )
    paste("You are", health_status)
  })
}

shinyApp(ui, server)

În acest exercițiu, vei primi un set de componente reactive. Clasifică fiecare drept sursă reactivă, conductor reactiv sau endpoint reactiv.

Acest exercițiu face parte din cursul

Crearea aplicațiilor web cu Shiny în R

Vezi cursul

Exercițiu interactiv practic

Transformă teoria în practică cu unul dintre exercițiile noastre interactive

Începe exercițiul