我正在尝试构建一个闪亮的应用程序,允许用户上传2-4个文件,具有四个不同的fileInput。
我正在努力跳过空文件,而不是为我的函数中的空文件收到错误消息。我已经尝试删除“if(is.null(NULL))”将其更改为“if(is.null())”对第三个和第四个文件不执行任何操作,但仍然得到相同的错误消息:< / p>
arguments imply differing number of rows: 32, 0
这是我的代码:
UI:
fileInput('file1', 'Upload the data you want to test',
accept=c('text/csv',
'text/comma-separated-values,text/plain',
'.csv')),
fileInput('file2', 'Upload your comparison data',
accept=c('text/csv',
'text/comma-separated-values,text/plain',
'.csv')),
fileInput('file3', 'Upload your comparison data',
accept=c('text/csv',
'text/comma-separated-values,text/plain',
'.csv')),
fileInput('file4', 'Upload your comparison data',
accept=c('text/csv',
'text/comma-separated-values,text/plain',
'.csv')),
服务器:
filedata1 <- reactive({
infile1 <- input$file1
if (is.null(infile1)){
return(NULL)
}
read.csv(infile1$datapath, header=F, col.names = c('V1', 'V2'))
})
filedata2 <- reactive({
infile2 <- input$file2
if (is.null(infile2)){
return(NULL)
}
read.csv(infile2$datapath, header=F, col.names = c('V1', 'V2'))
})
filedata3 <- reactive({
infile3 <- input$file3
if (is.null(infile3)){
return()
}
read.csv(infile3$datapath, header=F, col.names = c('V1', 'V2'))
})
filedata4 <- reactive({
infile4 <- input$file4
if (is.null(infile4)){
return()
}
read.csv(infile4$datapath, header=F, col.names = c('V1', 'V2'))
})
这里调用所有四个文件的函数,也在服务器上:
data <- zoo(cbind(filedata1(), filedata2(), filedata3(), filedata4()))
感谢!!!