首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用OpenCPU进行t检验

使用OpenCPU进行t检验
EN

Stack Overflow用户
提问于 2015-12-21 22:03:19
回答 1查看 427关注 0票数 3

我试图在R中使用OpenCPU进行t检验,如下所示-

代码语言:javascript
复制
<script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="//cdn.opencpu.org/opencpu-0.4.js"></script>

代码语言:javascript
复制
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);
});

但我有个错误

我不知道我哪里出了问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-21 22:37:51

ocpu.rpc函数是以JSON的形式检索输出的速记。但是,没有t.test对象的JSON表示。因此,您可以使用ocpu.call并检索例如会话[小提琴]的控制台输出

代码语言:javascript
复制
var req = ocpu.call("t.test",{
    x : x,
    y : y
}, function(session){
  session.getConsole(function(outtxt){
      $("code").text(outtxt);
  });
});

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

代码语言:javascript
复制
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在公共演示服务器上部署自己的包。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34405080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档