如何在opencpu中链接两个函数调用

麦克风

据说OpenCPU支持函数调用链来计算,例如f(g(x),h(y))

有关参数格式的文档:https : //public.opencpu.org/api.html#api-arguments包含一个示例,该示例通过计算来说明这一点

summary(read.csv("mydata.csv"))

在此示例中,f是将对象作为参数的泛型函数摘要。

我需要计算类似:

mycalc(read.csv("mydata.csv")) 

或者

myplot(read.csv("my data.csv"))

其中f以数据帧作为参数。当提供read.csv函数返回的sessionid或hash键作为对象参数时,这似乎不起作用。如何解决这两个非泛型函数的链接?

这是一个完整的示例:

准备包以在这里测试f(g(x))在R中的plotcars(dfcars())

  dfcars<-function(){
   data(cars);
   cars
  }

 plotcars<-function(df){
  matplot(1:nrow(df),df)
 }

 plotcars(dfcars()) # test the two chained functions are working


 package.skeleton(list = c("dfcars", "plotcars"), name = "mypkg")

从ubuntu终端安装新软件包

 sudo R CMD INSTALL mypkg

像在opencpu docs中一样执行函数链接命令

 curl http://localhost/ocpu/library/mypkg/R/dfcars -d ""

 /ocpu/tmp/x07a1f83f/R/.val
 /ocpu/tmp/x07a1f83f/stdout
 /ocpu/tmp/x07a1f83f/source
 /ocpu/tmp/x07a1f83f/console
 /ocpu/tmp/x07a1f83f/info

'#replace session id with returned one above

  curl http://localhost/ocpu/tmp/x07a1f83f/R/.val/print

   speed dist
 1      4    2
 2      4   10
 3      7    4

'# POST chaining with the generic function summary works
 curl http://localhost/ocpu/library/base/R/summary -d 'object=x07a1f83f'
 /ocpu/tmp/x0e29fd5c/R/.val
 /ocpu/tmp/x0e29fd5c/stdout
 /ocpu/tmp/x0e29fd5c/source
 /ocpu/tmp/x0e29fd5c/console
 /ocpu/tmp/x0e29fd5c/info

# and the summary gets printed
 curl http://localhost/ocpu/tmp/x0e29fd5c/R/.val/print
  speed           dist       
 Min.   : 4.0   Min.   :  2.00  
 1st Qu.:12.0   1st Qu.: 26.00  
 Median :15.0   Median : 36.00  
 Mean   :15.4   Mean   : 42.98  
 3rd Qu.:19.0   3rd Qu.: 56.00  
 Max.   :25.0   Max.   :120.00  

# POST chaining with the nongeneric function plotcars doesn't work
curl http://localhost/ocpu/library/mypkg/R/plotcars -d 'object=x07a1f83f'
unused argument (object = object)

In call:
plotcars(object = object)
耶罗恩

从该示例看来,您正在传递名为的参数,object而函数具有名为df的参数对功能执行POST将把http请求的参数映射到功能参数。因此,您当前正在做的是plotcars(object=dfcars())导致看到的错误。尝试:

curl http://localhost/ocpu/library/mypkg/R/plotcars -d 'df=x07a1f83f'

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在javascript成员函数中访问两个“ this”

如何在angularjs中单击两个函数

如何在React中链接两个单独的页面?

如何在查询中链接两个记录

如何在构造函数的成员初始化器列表中调用两个函数?

如何使用Formik在onchange中调用两个函数

两个函数或两个类如何在python中相互调用

如何在F#中将sprintf +调用包装到一个函数中并具有两个签名?

我如何在reactjs中使异步函数从redux动作中调用另外两个函数

如何在Android中单击按钮调用两个函数?

如何在AngularJS中完成两个$ http调用来进行函数调用?

从两个不同的服务接收数据后,如何在指令中调用函数?

如何在C中链接两个文件

如何在componentDidMount中调用两个异步方法?

如何在控制器中调用两个模型函数?拉拉维尔

如何在QML中链接两个滚动视图?

如何在 PostgreSQL 函数中组合两个选择?

如何在 AngularJS 中链接两个 http 调用?

如何在 JavaScript 中检测两个按钮中的哪一个调用了函数

如何在函数R中输出两个结果

如何在sql中链接这两个表

如何在两个shell脚本之间调用函数?

如何在firebase中创建两个onCreate函数

如何在 Azure 函数中调用两个其余 API?

如何在反应中调用 onPress 下的两个函数

如何在Sqlite中链接两个表?

如何在Python中组合两个函数

如何在java中链接两个列表?

如何在R中组合两个函数图?