R 当没有文件上传到Shining app时,使用默认csv文件
我有一个闪亮的应用程序,用户上传两个csv文件——一个参考数据集和一个测试数据集。数据集在服务器代码中以反应式表达式进行操作,然后数据集的输出用于生成表格和绘图 如果没有上传参考数据集,我想使用默认的参考数据集。如果没有上传数据,如何让反应式表达式返回默认数据 我尝试在应用程序的开头加载数据(称之为'default.ref.data',然后在服务器代码中使用以下命令:R 当没有文件上传到Shining app时,使用默认csv文件,r,shiny,R,Shiny,我有一个闪亮的应用程序,用户上传两个csv文件——一个参考数据集和一个测试数据集。数据集在服务器代码中以反应式表达式进行操作,然后数据集的输出用于生成表格和绘图 如果没有上传参考数据集,我想使用默认的参考数据集。如果没有上传数据,如何让反应式表达式返回默认数据 我尝试在应用程序的开头加载数据(称之为'default.ref.data',然后在服务器代码中使用以下命令: ref.data=reactive({ req(input$ref.upload) # read the data
ref.data=reactive({
req(input$ref.upload)
# read the data frame that has been uploaded
df.ref1 <- read.csv(input$ref.upload$datapath)
#do some stuff
return(df.ref1)
if(is.null(input$files)) return(default.ref.data)
})
ref.data=无功({
请求(输入$ref.upload)
#读取已上载的数据帧
df.ref1类似的方法应该可以工作:
library(shiny)
ui <- fluidPage(fileInput("file1", "Choose CSV File",
multiple = FALSE,
accept = c("text/csv",
"text/comma-separated-values,text/plain",
".csv")), tableOutput("tbl"))
server <- function(input, output) {
get_file_or_default <- reactive({
if (is.null(input$file1)) {
mtcars
} else {
read.csv(input$file1$datapath)
}
})
output$tbl <- renderTable(get_file_or_default())
}
shinyApp(ui, server)
库(闪亮)
uireq
需要非空值,因此您的条件是错误的,返回值为空。并且您只能在响应中有一个返回值