Origen vs. Conductor vs. Punto final
La magia de Shiny se basa en la reactividad. Como has visto en esta lección, en una app de Shiny hay tres tipos de componentes reactivos.
- Origen reactivo: normalmente, la entrada del usuario que llega a través del navegador.
- Conductor reactivo: componente reactivo entre un origen y un punto final, que suele usarse para encapsular cálculos lentos.
- Punto final reactivo: algo que aparece en la ventana del navegador del usuario, como un gráfico o una tabla de valores.
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)
En este ejercicio verás un conjunto de componentes reactivos. Clasifica cada uno como origen reactivo, conductor o punto final.
Este ejercicio forma parte del curso
Creación de aplicaciones web con Shiny en R
Ejercicio interactivo práctico
Pon en práctica la teoría con uno de nuestros ejercicios interactivos
Empezar ejercicio