我试图在R中使用OpenCPU进行t检验,如下所示-
<script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="//cdn.opencpu.org/opencpu-0.4.js"></script>和
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);
});但我有个错误

我不知道我哪里出了问题。
发布于 2015-12-21 22:37:51
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在公共演示服务器上部署自己的包。
https://stackoverflow.com/questions/34405080
复制相似问题