Bron vs. Geleider vs. Eindpunt
De magie achter Shiny wordt aangedreven door reactiviteit. Zoals je in deze les hebt geleerd, zijn er drie soorten reactieve componenten in een Shiny-app.
- Reactieve bron: Gebruikersinvoer die meestal via een browserinterface binnenkomt.
- Reactieve geleider: Reactieve component tussen een bron en een eindpunt, meestal gebruikt om trage berekeningen te kapselen.
- Reactief eindpunt: Iets dat in het browservenster van de gebruiker verschijnt, zoals een plot of een tabel met waarden.
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)
In deze oefening krijg je een set reactieve componenten te zien. Classificeer elke component als een reactieve bron, geleider of eindpunt.
Deze oefening maakt deel uit van de cursus
Webapplicaties bouwen met Shiny in R
Praktische interactieve oefening
Zet theorie om in actie met een van onze interactieve oefeningen.
Begin met trainen