我正在进行一个需要运行一些R代码进行数据分析的项目。该项目主要使用JavaScript编写,我需要一种从JS中运行R代码的方法。我的研究还没有找到一个好的方法来实现它。有没有什么办法可以做到这一点呢?
此外,我对R几乎没有任何经验(另一个人提供了R代码)。
我正在进行一个需要运行一些R代码进行数据分析的项目。该项目主要使用JavaScript编写,我需要一种从JS中运行R代码的方法。我的研究还没有找到一个好的方法来实现它。有没有什么办法可以做到这一点呢?
此外,我对R几乎没有任何经验(另一个人提供了R代码)。
如何看待 R-node ?
我认为另一种选择是使用 node.js 作为服务器 (http://nodejs.org/),并在内部调用 R 作为子进程,搜索 Node.js API 文档以了解具体信息。
此外,可以参考以下内容确认: 是否可能从node.js中执行外部程序?
注意: node 可以运行任何您可能有的 JS 脚本,它们不一定需要是特定于 node 的。
这并不是最好的方法,但是我为了自己的Javascript+R项目,能够做到以下操作(silly.r是一个位于“r”目录中的R脚本)。我基本上是从我的express服务器中作为终端命令运行R代码:
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");
}
});
});
代码来自这里的第167-182行:https://github.com/ngopal/VisualEncodingEngine/blob/master/jsserver/app.js
Rscript.exe
,您可以像这样运行yourScript.R
:var shell = new ActiveXObject('WScript.Shell');shell .Run("Rscript yourScript.R arg1");
- agstudy