1

我想plumber通过制作一个需要 14 天历史数据并返回指数平滑预测的应用程序来使用该库。

问题是我对将大量数据(具有多个值的参数)传递给 API 有点不熟悉。我的问题可以总结如下:

  1. 我应该如何准备 R 中的数据以传递给 API?

  2. 应如何准备 APIplumber以接收时间序列数据?

下面是一些示例数据和一个函数,它可以在 R 中完成我想要的。

library(tidyverse)

# data to be passed to API
head(forecast::wineind,14)
#>        Jan   Feb   Mar   Apr   May   Jun   Jul   Aug   Sep   Oct   Nov
#> 1980 15136 16733 20016 17708 18019 19227 22893 23739 21133 22591 26786
#> 1981 15028 17977                                                      
#>        Dec
#> 1980 29740
#> 1981

#* Return Forecast Data
#* @list a The first number
#* @get /simple_fcast
function(){
  ts() %>% 
  forecast::ets() %>% 
  forecast::forecast()
}
#> function(){
#>   ts() %>% 
#>   forecast::ets() %>% 
#>   forecast::forecast()
#> }

reprex 包(v0.2.1)于 2018 年 11 月 14 日创建

4

1 回答 1

1

答案是按照这里的文档使用“消息正文” https://www.rplumber.io/docs/routing-and-input.html#

#' @post /user
function(req, id, name){
  list(
    id = id,
    name = name,
    raw = req$postBody
  )
}

运行curl --data "id=123&name=Jennifer" "http://localhost:8000/user"将返回:

{
  "id": [123],
  "name": ["Jennifer"],
  "raw": ["id=123&name=Jennifer"]
}

我发现数组也可以传递给函数。

于 2018-11-19T21:56:08.880 回答