Contexte reactive
Valorile reactive sunt construcții speciale în Shiny; nu le vei întâlni în altă parte în programarea R. Din acest motiv, ele nu pot fi folosite în orice cod R — valorile reactive pot fi accesate doar într-un context reactiv.
Acesta este motivul pentru care orice variabilă care depinde de o valoare reactivă trebuie creată folosind funcția reactive(), altfel vei primi o eroare. Serverul Shiny în sine nu este un context reactiv, însă funcția reactive(), funcția observe() și toate funcțiile render*() sunt contexte reactive.
Acest exercițiu face parte din cursul
Studii de caz: Construirea aplicațiilor web cu Shiny în R
Instrucțiuni pentru exercițiu
Ți se pune la dispoziție o aplicație Shiny care conține două intrări numerice, num1 și num2, și o ieșire text. Sarcina ta este să:
- Calculezi suma celor două intrări numerice într-o variabilă reactivă numită
my_sum(linia 10). - Calculezi media celor două intrări într-o variabilă reactivă numită
my_average(linia 14). - Afișezi media calculată în ieșirea text, folosind variabilele reactive (linia 23).
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
ui <- fluidPage(
numericInput("num1", "Number 1", 5),
numericInput("num2", "Number 2", 10),
textOutput("result")
)
server <- function(input, output) {
# Calculate the sum of the inputs
my_sum <- reactive({
input$num1 + ___
})
# Calculate the average of the inputs
my_average <- ___({
my_sum() / 2
})
output$result <- renderText({
paste(
# Print the calculated sum
"The sum is", my_sum(),
# Print the calculated average
"and the average is", ___
)
})
}
shinyApp(ui, server)