如何在opencpu中向R函数传递几个参数

时间:2014-09-12 17:37:04

标签: javascript r opencpu

我有一个函数,它需要一个json作为输入输入和几个参数,如下所示:

data<-function(x, listname=NA) {
  x<-fromJSON(x)
  (x <- lapply(x, function(x) { as.data.frame(x) }))
  (x <- do.call(rbind, x))
  x<-unique(x)

  cols <- listname
  dd<-cbind(Date=x[,1],subset(x, select=cols))
  mm <- melt(dd)
  ss <- split(mm, mm$variable)

  poo <- unname(Map(function(n,x) 
    list(name=n, data=unname(lapply(split(x, 1:nrow(x)), function(x) {
      list(x$Date, x$value)
    }))), names(ss),ss))
  p<-toJSON(poo)
  return(p)
}

此数据函数需要x作为json格式和一堆其他参数。

在opencpu框架中:

我根据选定的列表项构建名为param的参数列表,如下所示:

var values = [];
      $("#yaxis option:selected, #xaxis option:selected").each(function() {
      values.push('"' + $(this).text() + '"');
      });
      param="c(" + values.join(",") + ")";
      console.log(JSON.stringify(param));
        mysession.getObject(function(data){
          var data5=JSON.stringify(data);
          var req1 = ocpu.call("data", {
            x:data5,
            listname:param

的console.log(PARAM)

"c(\"Server1\",\"DateTime\")" 

当我拨打此电话时,我收到此错误:

OpenCPU error HTTP 400
unused argument (listname = "c(\"Server1\",\"DateTime\")")

当我在R控制台上运行此功能时,

data(x,listname = c(“Server1”,“DateTime”)

它完美无缺。

我是否需要在javascript上执行更多操作以格式化param输出?

0 个答案:

没有答案