闪亮的错误:“文件”必须是字符串或连接

ram*_*esh 5 r shiny

问题 1:我的 ui.R 代码:

fileInput('file1', h5('Choose input file: (Use only tab delimited text files)'),
              accept=c('text', 'text-separated-values'))
Run Code Online (Sandbox Code Playgroud)

和 server.R 代码

inFile <- input$file1
dat<-read.table(inFile$datapath, header=TRUE, sep="\t")
Run Code Online (Sandbox Code Playgroud)

当我启动闪亮时,我得到,Error: 'file' must be a character string or connection。但是上传文件后,错误消失了。我想知道可能是什么问题?我很感激任何指示!

问题 2:如何在 Shiny 运行时抑制 R 控制台中的错误消息?

提前致谢

Jan*_*rup 7

您应该在反应式函数中读取您的文件。例如在 renderTable 内。

然后你需要添加

if(is.null(input$file1))     return(NULL) 
Run Code Online (Sandbox Code Playgroud)

作为反应式函数中的第一件事。

该错误是因为您试图在上传文件之前读取路径为 NULL 的文件,该文件是 input$file1 的值。

更新:闪亮现在有一个功能可以更干净地处理这个问题。您可以改为req(input$file1)在渲染函数的开头添加。