代码之家  ›  专栏  ›  技术社区  ›  Alex

如何将大量数据传递给R中的水管工

  •  1
  • Alex  · 技术社区  · 6 年前

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

    问题是我对向API传递大量数据(具有多个值的参数)有些不熟悉。我的问题可以概括如下:

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

    2. API应如何准备 水暖工 接收时间序列数据?

    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 package (v0.2.1)

    1 回复  |  直到 6 年前
        1
  •  1
  •   Alex    6 年前

    答案是根据此处的文档使用“消息体” 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"]
    }
    

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

    推荐文章