Как передать datetime в качестве параметра в Opencpu? - PullRequest
0 голосов
/ 14 мая 2019

Я создал функцию Input в R для построения графика на основе параметров даты Date1 и Date2.Функция успешно работает в R и дает желаемый результат.Затем я пытаюсь выполнить то же самое в OpenCPU, предоставляя URL с параметрами команды и функции curl.В этот момент инструкция завершается с ошибкой.

Я пытаюсь передать такие параметры:

curl http://localhost:5656/ocpu/library/InputParam/R/Input -d '{"Date1": "2018-04-25 05:45:00" & "Date2": "2018-05-27 21:45:00 AM"}'

error : unused argument (`'{Date1:` = NA)
In call:
Input(`'{Date1:` = NA)
curl: (3) URL using bad/illegal format or missing URL
'"Date2":' is not recognized as an internal or external command,
operable program or batch file.

Это код функции:

Input <- function (Date1,Date2){

library('dplyr')

library('lubridate')

test <- data[data$ShiftStartTime >= Date1 & data$ShiftEndTime <= Date2,]


library('plotly')
p <- plot_ly(test, x = ~test$Equip, y = ~test$DTDuration, name = test$Description) %>%
    add_trace(y = ~test$DTDuration, name = test$Description) %>%
    layout(yaxis = list(title = 'DTDuration'), barmode = 'stack')

p

}

library('opencpu')
ocpu_start_server()`

Что-токак это:

curl https://cloud.opencpu.org/ocpu/tmp/x0468b7ab/graphics/last/png
curl https://cloud.opencpu.org/ocpu/tmp/x0468b7ab/graphics/1/png?width=1000
curl https://cloud.opencpu.org/ocpu/tmp/x0468b7ab/graphics/last/svg
curl https://cloud.opencpu.org/ocpu/tmp/x0468b7ab/graphics/last/pdf?width=8`

1 Ответ

1 голос
/ 15 мая 2019

Вам нужно привести строку к дате в вашей функции R, используя 2018-04-25 05:45:00, например:

input <- function (Date1,Date2){
  Date1 <- as.POSIXct(Date1)
  Date2 <- as.POSIXct(Date2)
  test <- data[data$ShiftStartTime >= Date1 & data$ShiftEndTime <= Date2,]
  ...

И затем просто передать дату в виде строки в запросе http.

Также не используйте library() в функции, а вместо этого объявляйте эти пакеты как зависимости в файле DESCRIPTION вашего пакета.

...