我正在尝试创建一个闪亮的应用程序,该应用程序可以上载表格,运行函数并显示图形和表格。上传文件工作正常,但是我无法运行该功能并输出图形和表格(我们现在仅关注表格)。出现错误:
Warning: Error in read.table: 'file' must be a character string or connection
我已经在R中单独运行了该功能,并且可以在所需的输出下正常工作。我尝试了不同的读取函数和不同的分隔符/分隔符,并在反应性renderPlot函数中读取了该函数(如上一篇文章here中所述)。以下是我正在处理的代码的一个片段:
ui.R:
fileInput("file1",
"Load Input File",
accept = c("text/csv", "text/comma-separated-values,text/plain",".csv")
)
server.R:
execute = observeEvent(input$runButton, {
output$plot1 = renderPlot({
inFile = input$file1
if (is.null(inFile)) {
print(NULL)
}
podr_fun_graphs(inFile$datapath)
})
}
podr_graphs函数:
podr_fun_graphs <- function(p) {
df1 <- read.delim(p, sep = "\t")
... # From here there is some data cleaning and manipulation of df1
}
类似于此代码的代码在几周前已经生效,我做了一些小的更改,然后就中断了。希望能帮助您解决此问题。
谢谢
答案 0 :(得分:0)
问题出在您的if
语句中。您已经写了print(NULL)
。但这应该是:
if (is.null(inFile)) {
return(NULL)
}
如果您未指定podr_fun_graphs(inFile$datapath)
,R将继续执行return
。