У меня блестящее приложение, в котором я хочу позволить пользователю выбрать набор данных на основе набора загруженных файлов, а затем указать столбцы для отображения из выбранного набора данных.Если я оставлю некоторые столбцы выбранными, а затем переключу наборы данных, на консоль будет мигать сообщение об ошибке, сообщающее, что выбранные столбцы неизвестны, прежде чем приложение переключит наборы данных и отобразит его правильно.Однако в моем полном приложении оно вылетает, хотя я не смог понять, как воспроизвести сбой.Я подумал, что это может быть связано с некоторой предварительной обработкой, которая выполняется для добавления дополнительных столбцов, которые одинаковы в наборах данных и которые остаются выбранными, но ошибка та же без этой функции.
library(shiny)
library(tidyverse)
library(DT)
ui <- fluidPage(
checkboxGroupInput("select_var", label = "Select Variables"),
selectInput("dataset", label = NULL, choices = c("mtcars", "rock")),
DT::dataTableOutput("table")
)
server <- function(session, input, output) {
# define the dataset
data <- reactive({switch(input$dataset,"rock" = rock,"mtcars" = mtcars)})
# add a common column name that is always selected
dataprocessed <- reactive({data <- data()
data$num <- seq(1:nrow(data))
return(data)})
# dynamically generate the variable names
observe({
vchoices <- names(dataprocessed())
updateCheckboxGroupInput(session, "select_var", choices = vchoices, selected = c("num"))
})
# select the variables based on checkbox
data_sel <- reactive({
req(input$select_var)
df_sel <- dataprocessed() %>% select(input$select_var)
})
output$table <- DT::renderDataTable(data_sel())
}
# Run the application
shinyApp(ui = ui, server = server)