列表输出时的OpenCPU序列化

时间:2017-04-11 11:47:21

标签: r opencpu

OpenCPU开发人员, 我正在尝试使用OpenCPU来运行自定义函数代码,并希望使用" list"返回多个参数。这样的事情:

result = list(x=data.frame(a),y=data.frame(b)) 
return (result)

它运行良好,但OpenCPU打包结果就像一个变量(R / .var),我可以在单独的视图中像JSON一样下载它。在这种情况下序列化是非常低效的:

{
    "x": [
    { "PC1": -0.0134, "PC2": -0.8164 }
    ,
    { "PC1": -0.2206, "PC2": -0.6093 }
    ,
    { "PC1": -1.0569, "PC2": -0.3061 }
    ],

    "y": [
    { "hp": 270, "qsec": 20.36 }
    ,
    { "hp": 270, "qsec": 20.92 }
    ,
    { "hp": 201, "qsec": 22.46 }
    ]
}

如果下载像CSV OpenCPU那样执行标量的复制,并且无法连接具有不同行号的数据帧。

有没有办法分别下载$ x和$ y?有没有更优化的序列化建议?

1 个答案:

答案 0 :(得分:0)

当R opencpu服务器同时执行传入请求时,您可以将该功能拆分为两个函数,同时触发这些函数,一个给出$ x,另一个给$ y。

关于速度和序列化的好问题......