我有一个闪亮的UI,允许用户通过dateinput框选择日期。给定的输出将每天备份,因此要使用这样的“日期”,例如20181224作为文件名的一部分。
library(shiny)
library(shinyFiles)
ui <- fluidPage(
sidebarPanel(
dateInput("COBInput", "Select a Date", value=Sys.Date())
))
server <- function(input,output,session){
COB <- reactive(as.Date(input$COBInput,format="%Y-%m-%d"))
COB2 <- paste(
"Test",as.character(
format(input$COBInput,format="%Y-%m-%d",'%Y')
)
)}
shinyApp(ui,server)
我得到的错误:
听http://127.0.0.1:4973
警告:.getReactiveEnvironment()$ currentContext中的错误:不允许进行操作
没有积极的反应性环境。 (您尝试做的事情只能是
从反应式表达式或观察者内部完成。) 54:停止 53:.getReactiveEnvironment()$ currentContext 52:.subset2(x,“ impl”)$ get 51:$。reactivevalues 47:服务器[N:/ AdHoc Query / R / FFVA / DateInputTest / ShinyApp.R#42] .getReactiveEnvironment()$ currentContext()中的错误: 没有活动的响应上下文,不允许进行操作。 (您尝试做只能从反应式表达式或观察器内部完成的操作。)
我希望每天可以保存名称为“ Daily20181224”,“ Daily20181221”等的文件
答案 0 :(得分:0)
我完全不清楚要求,但尝试使用textoutput可以使您了解如何生成文件名。
library(shiny)
library(shinyFiles)
ui <- fluidPage(
sidebarPanel(
dateInput("COBInput", "Select a Date", value=Sys.Date()),
textOutput("filename")
))
server <- function(input,output,session){
output$filename<-renderText({
input_date<-input$COBInput
year <- as.numeric(format(input_date,'%Y'))
month<-as.numeric(format(input_date,'%m'))
day<-as.numeric(format(input_date,'%d'))
paste0("Daily",year,month,day)
})
}
shinyApp(ui,server)
我认为您现在可以生成文件名 关于ShinyFiles,我想说一件事-我想您知道它只能在部署后用于服务器端文件浏览。