我在R中创建了一个函数Input,以针对日期参数Date1和Date2绘制图形。该函数在R中成功运行,并提供所需的输出。接下来,我尝试通过为URL提供curl命令和函数参数在OpenCPU上执行相同的操作。此时,指令失败并出现错误。
我正在尝试传递这样的参数:
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`
答案 0 :(得分:0)
您需要使用2018-04-25 05:45:00
将字符串强制转换为R函数中的日期,如下所示:
input <- function (Date1,Date2){
Date1 <- as.POSIXct(Date1)
Date2 <- as.POSIXct(Date2)
test <- data[data$ShiftStartTime >= Date1 & data$ShiftEndTime <= Date2,]
...
然后将日期作为字符串传递到http请求中。
也不要在函数中使用library()
,而是在程序包Description文件中将这些程序包声明为依赖项。