У меня есть поле ввода, в котором пользователь может выбрать один из трех вариантов. Сделав выбор, я хочу, чтобы появилась таблица, в которой они могли бы ввести некоторые дополнительные значения, связанные с этими вариантами выбора.
Затем я хочу отобразить сводную таблицу, которая содержит сводку введенных значений.
Когда я запускаю приведенный ниже код, я получаю следующую ошибку:
Ошибка в .getReactiveEnvironment () $ currentContext (): Операция не разрешена без активного реактивного контекста. (Вы пытались сделать что-то, что можно сделать только из реактивного выражения или наблюдателя.)
library(shiny)
library(rhandsontable)
library(dplyr)
ui <- fluidPage(
mainPanel(
selectInput("section", "Section", choices = c("A","B","C"), multiple = TRUE),
rHandsontableOutput('table')
)
)
server = function(input, output, session) {
SectionList <- input$section
Section <- eventReactive(input$section, {
section_table <- data.frame(Section = SectionList, input1 = 0, input2 = 0)
return(section_table)
})
output$table <- renderRHandsontable({
if(!is.null(input$table)){
DF = hot_to_r(input$table)
} else {
DF = data.frame(Section = "A", input1 = 0, input2 = 0)
}
rhandsontable(DF) %>%
hot_col(col = "input1") %>%
hot_col(col = "input2")
})
results_summary <- eventReactive(input$table, {
DF = output$table
summary <- DF %>% group_by(Section) %>%
summarise(input1 = mean(input1),
input2 = mean(input2))
})
output$results <- renderTable({
results_summary()
})
}
shinyApp(ui, server)