我尝试使用ocpu.rpc
将功能传递到opencpu应用中的某个功能。我知道opencpu
API可以处理它,因为我已经使用API test facility在基础sapply
(以及其他)中使用R
函数进行了测试。
但是,我ocpu.rpc
无法完成同样的事情。我只看到HTTP/1.1 400 Bad Request
。
ocpu.rpc("sapply",
{FUN: "sqrt", X: [1,4,9,16,25,36]},
function(output) { output } })
任何人都可以使用ocpu.rpc
提供一个关于如何进行此调用(并返回JSON向量)的示例吗?
我要求您帮我创建一个jsfiddle
,但最近我无法编辑小提琴。
答案 0 :(得分:0)
事实证明我可以使用match.fun
将JSON
参数转换为R侧的函数表达式。这实际上是sapply
默认执行的操作。我只是错误的返回值。我的代码基于lowess
示例,它返回一个包含2个参数的列表:x
和y
。
//set CORS to call "stocks" package on public server
ocpu.seturl("//public.opencpu.org/ocpu/library/base/R")
//some example data
var mydata = [1, 4, 9, 16, 25];
//call R function: stats::var(x=data)
$("#submitbutton").click(function(){
var req = ocpu.rpc("sapply",{
X : mydata,
FUN : "sqrt"
}, function(output){
$("code").text(output.join("\n"));
});
//optional
req.fail(function(){
alert("R returned an error: " + req.responseText);
});
});