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.
- Sursă reactivă: De obicei, input-ul utilizatorului transmis printr-o interfață de browser.
- Conductor reactiv: Componentă reactivă situată între o sursă și un endpoint, folosită de obicei pentru a încapsula calcule lente.
- 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
Exercițiu interactiv practic
Transformă teoria în practică cu unul dintre exercițiile noastre interactive
Începe exercițiul