2017-04-11 3 views
0

OpenCPU開発者 OpenCPUを使用してカスタム関数コードを実行しようとしていますが、 "list"を使用して複数のパラメータを返す必要があります。そのような何か:リスト出力の場合のOpenCPUシリアル化

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を別々にダウンロードする方法はありますか?最適化されたシリアライズの提案はありますか?

答えて

0

Rのopencpuサーバは受信要求を同時に実行するので、関数を2つの関数に分割し、これらの関数を同時に起動することができます($ xと他の$ yを与える関数)。

速度やシリアライズに関するところで良い質問....

+0

はい、複数の機能への分割はオプションですが、残念ながらリストに簡易梱包ほど便利ではありません。 –

関連する問題