我的应用允许用户上传自己的数据集。我有一个检查错误的函数;如果它通过检查应用程序的其他方面可以运行(即直方图,可视化等)。以下是我目前正在尝试的内容:
shinyServer(function(input, output) {
in_data <- reactive({
inFile <- input$file1
if (is.null(inFile)) return(NULL)
read.csv(inFile$datapath, as.is=T)
})
check <- function(data){
failed <- T
error_list <- c()
#code that runs the check, adds errors to error_list
if(length(error_list) == 0) failed <- F
}
output$check <- renderText({
if (is.null(in_data())) return("Please upload a data set.")
check(in_data()) # should change "failed"
})
output$table <- renderTable({
if (is.null(in_data()) | failed) return()
# make the table
})
})
这个确切的代码不起作用,因为后来尝试检查其值的函数无法找到“failed”。即使我在检查功能之外定义“失败”,它也不是被动的 - 如果我上传一个失败的数据集然后另一个数据集通过,它就不会相应地运行并运行其他功能。我尝试使用reactiveValues(),但无法使用它。有小费吗?