Использование ввода даты через Dateinput в качестве имени файла - PullRequest
0 голосов
/ 24 декабря 2018

У меня блестящий пользовательский интерфейс, который позволяет пользователю выбирать дату через поле ввода даты.Учитывая, что выходные данные этого будут резервироваться ежедневно, следовательно, мы хотели бы использовать такую ​​«дату», например, 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»и т. д.

1 Ответ

0 голосов
/ 25 декабря 2018

Я не совсем понял требования, но попытался использовать 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 - я думаю, вы знаете, что его можно использовать только для просмотра файлов на стороне сервера после развертывания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...