有没有办法从JavaScript运行R代码?

我正在开发一个项目,需要运行一些R代码来进行一些数据分析。 该项目主要是在JavaScript中,我需要一种方法来从JS运行R代码。 我的研究还没有find任何好办法呢。 有没有办法做到这一点?

另外,我还没有R的经验(另一个人提供R代码)。

如果您可以在服务器上运行R代码,那么您应该查看一下OpenCPU 。 它提供了一个REST API和相应的JavaScript库,用于将R代码发送到服务器并返回结果。 特别是,它将R作为服务器运行时可能出现的安全问题(R代码可以运行任意shell命令等)。 有一些公开的演示实例可以用来试用, 这个页面提供了一个简单的教程。

R节点呢?

我认为另一个可选方法是使用node.js作为服务器( http://nodejs.org/ ),并从内部调用R作为subprocess,searchNode.js API文档以了解具体内容。

另外看看这个确认: 是否有可能从node.js执行一个外部程序?

注: 节点可以运行任何你可能拥有的JS脚本,它们不一定需要是节点特定的。

这绝不是最好的方法,但是我可以为我自己的Javascript + R项目(silly.r是一个R脚本,位于“r”目录中)执行以下操作。 我基本上运行R代码作为我的快递服务器的terminal命令:

 app.get('/sfunction', function (req, res) { exec('Rscript r/silly.r this is a test', function(error, stdout, stderr) { if (error) { console.log(error); res.send(error); } else if (stderr) { console.log(stderr); res.send(stderr); } else if (stdout) { console.log("RAN SUCCESSFULLY"); res.sendfile("savedoutput/test.json"); } }); });