当前位置:  开发笔记 > 编程语言 > 正文

使用OpenCPU进行t检验

如何解决《使用OpenCPU进行t检验》经验,为你挑选了1个好方法。

我尝试使用OpenCPU在R中使用t-test,如下所示 -



ocpu.seturl("//public.opencpu.org/ocpu/library/stats/R")

var x = [1,2,3,4,5,6,7,8,9,10];
var y = [7,8,9,10,11,12,13,14,15,16,17,18,19,20];
// call R function: stats::t.test
var req = ocpu.rpc("t.test",{
    "x" : x,
    "y" : y
}, function(output){
    alert("t.test equals: " + output);
});

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

但我得到了这个错误

在此输入图像描述

我无法理解我哪里出错了



1> Jeroen..:

ocpu.rpc函数是一种将输出检索为JSON的简写.但是,没有t.test对象的JSON表示.因此,您可以使用ocpu.call和检索例如会话[小提琴]的控制台输出:

var req = ocpu.call("t.test",{
    x : x,
    y : y
}, function(session){
  session.getConsole(function(outtxt){
      $("code").text(outtxt);
  });
});

如果你想要实际数据(例如p值),我建议你创建一个带有包装函数的简单R包,它返回一个包含你感兴趣的数据的列表:

my_ttest <- function(x, y){
  out <- t.test(x,y)
  list(
    n1 = length(x),
    n2 = length(y),
    p = out$p.value
  )
}

您可以使用ocpu.rpc上面的方法调用此函数,因为列表可以直接映射到JSON.请注意,您可以使用github webhook在公共演示服务器上轻松部署自己的包.

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有