使用OpenCPU访问自定义R函数

时间:2016-02-19 09:04:37

标签: javascript r api opencpu

我有一个加载RandomForest模型的R代码,我希望创建一个

的函数
load(model)
randomforest_func = function(data) 
{
  data$pred = predict(model,data,type="prob")
  output = data.frame(data$customerid,data$pred[,2])
  return(output)
 }

我需要在webserver中启用此功能,其中外部应用程序提供数据并检索输出。

问题是,模型需要预先加载,并且无法为每个请求加载到R env中。

该功能需要支持并行连接。

我尝试在R中安装opencpu。

上面的代码应该在R中运行,并且可以在     http://localhost:1234/ocpu/

我现在对opencpu.js进行了更改以指向此网址,并使用下面jquery中的功能。 ocpu.r_fun_call("randomforest_func",parameters)

然而,这似乎无效......

ocpu.r_fun_call似乎没有访问R脚本。

我的问题是如何正确配置opencpu以便能够访问randomforest_func

2 个答案:

答案 0 :(得分:0)

  

上面的代码应该在R中运行,并且可以在   http://localhost:1234/ocpu/

没有。您需要创建一个用于放置自定义函数的包。如果包名为 p <- ggplot(dd, aes(x=x,y=y,weight=z)) + geom_tile(aes(fill=z)) + scale_fill_gradient(low = "black", high = "steelblue") ,则该应用程序将在

处提供
foo

(其中http://localhost:xxxx/ocpu/library/foo/www 是端口的随机值,在您运行xxxx时给出。 此外,您必须使用opencpu$browse(),而不是ocpu.call

答案 1 :(得分:-1)

This应该有助于将其部署为应用,使任何外部应用程序都可以更轻松地使用这些服务。

This应该有助于包含该模型。