用于执行在OpenCPU上发布的R函数的小程序

时间:2015-06-26 18:46:34

标签: r git github rstudio opencpu

我将我的R包上传到GitHub,然后按照here的说明在OpenCPU上发布。

https://public.opencpu.org/ocpu/github/Klausos9/test/R/test/print

test是一个包含平方根估计公式的函数。

现在,在JFiddle中,我正在尝试使用HTTP API对此函数进行简单的调用。但是,我无法让它发挥作用。有什么想法吗?

http://jsfiddle.net/WVWCR/49/

但是当我点击“运行”按钮时,它会显示:

R returned an error: unused argument (input = input)

In call:
test(input = input)

1 个答案:

答案 0 :(得分:1)

尝试将ocpu.rpc调用更改为:

var req = ocpu.rpc("test",{
    x : mydata                        // <--- input : mydata
  }, function(output){
    $("tbody").empty();
    $.each(output, function(index, value){
      var html = "<tr><td>" + value.x + "</td><td>" + value.tv + "</td></tr>";
    $("tbody").append(html);
});

错误即将发生,因为您的函数调用传递了一个名为input的参数,而您的函数期望一个名为x的参数。

修改

完整更正的脚本(对于下面评论中提到的脚本): -

  ocpu.seturl("//public.opencpu.org/ocpu/github/Klausos9/test/R")

  //some example data
  //to run with different data, edit and press Run at the top of the 
  //page
  var mydata = 2;

  //call R function: tvscore::tv(input=data)
  $("#submitbutton").click(function(){      // <--- needed
      var req = ocpu.rpc("test",{
          x : mydata                        // <--- changed; input : mydata
        }, function(output){
         $("#output").text(output);         // <--- changed; output.message
      });

    //optional
    req.fail(function(){
      alert("R returned an error: " + req.responseText); 
    });
  });