У меня блестящее приложение
У меня есть два кадра данных, которые создают третий кадр данных. Я хочу, чтобы пользователь выполнял различные операции на этом объединенном фрейме данных. В результате этот третий кадр данных должен быть реактивным. Кадр данных заполняется только после нажатия кнопки «Объединить»
Что я не понимаю, так это как создать реактивный фрейм данных, когда он не существует при запуске приложения.
Пока мой код:
ui.R
fluidPage(tabsetPanel(type = "tabs",
tabPanel("Merged Dataset", tableOutput("table2"),
actionButton("Endomerge2",label = "Endomerge2"),
DT::dataTableOutput("pathTable"),
DT::dataTableOutput("endoTable"),
DT::dataTableOutput("mergedTable")
)
))
server.R
library(shiny)
RV <- reactiveValues(data = DataToMerge1)
RV2 <- reactiveValues(data = DataToMerge2)
RV3<-reactiveVal(0)
server <- function(input, output) {
output$endotable = DT::renderDT({
RV$data
})
output$pathTable = DT::renderDT({
RV2$data
})
output$mergedTable = DT::renderDT({
RV3$data
})
#Button to merge the dataframes on
observeEvent(input$Endomerge2,{
RV3$data<-Endomerge2(RV$data,"AcolumnToMerge",RV2$data,"AcolumnToMerge")
},ignoreInit = TRUE)
}
В настоящий момент я получаю ошибку типа замыкания, которая не является поднаборной, но я подозреваю, что она просто скрывает большую ошибку.
Итак, как я могу создать новый фрейм данных и показать его в новой таблице данных в Shiny?