Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法从JavaScript运行R代码?_Javascript_R - Fatal编程技术网

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

有没有办法从JavaScript运行R代码?,javascript,r,Javascript,R,我正在做一个项目,需要运行一些R代码进行数据分析。该项目主要使用JavaScript,我需要一种从JS运行R代码的方法。我的研究还没有找到任何好的方法。有什么办法吗 另外,我几乎没有R方面的经验(另一个人正在提供R代码)。怎么样 我认为另一种替代方法是使用node.js作为服务器()并从内部调用R作为子进程,搜索node.js API文档以获取详细信息 请同时查看以下内容以确认: 注意:node可以运行您可能拥有的任何JS脚本,它们不一定需要特定于节点。如果您同意在服务器上运行R代码,那么您应该

我正在做一个项目,需要运行一些R代码进行数据分析。该项目主要使用JavaScript,我需要一种从JS运行R代码的方法。我的研究还没有找到任何好的方法。有什么办法吗

另外,我几乎没有R方面的经验(另一个人正在提供R代码)。

怎么样

我认为另一种替代方法是使用node.js作为服务器()并从内部调用R作为子进程,搜索node.js API文档以获取详细信息

请同时查看以下内容以确认:


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

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

这绝不是最好的方法,但我能够为我自己的Javascript+R项目执行以下操作(傻瓜.R是一个位于“R”目录中的R脚本)。我基本上是从express服务器以终端命令的形式运行R代码:

app.get('/sfunction',函数(req,res){
exec('Rscript r/silly.r这是一个测试',函数(error、stdout、stderr){
如果(错误){
console.log(错误);
res.send(错误);
}
else if(标准差){
控制台日志(stderr);
res.send(stderr);
}
否则如果(标准输出){
log(“成功运行”);
res.sendfile(“savedoutput/test.json”);
}
});

});您使用IE或其他浏览器吗?Internet Explorer确实有一种从javascript编写窗口脚本的机制,但您必须调整安全设置……然后使用
Rscript.exe
可以像这样运行
yourScript.R
var shell=new ActiveXObject('WScript.shell');Run(“Rscript yourScript.R arg1”)现在,我正在用Chrome开发。我不认为我能轻易地切换。这是浏览器上的Javascript,对吗?这是用于web客户端的吗?这一点很重要,因为现在JS不仅仅是一种web客户端语言,它可以作为一种完全特权语言(见node.JS)在机器上运行,也可以作为一种沙盒语言在web浏览器中运行。你已经知道shiny了吗?如果你不知道,我会先检查一下,然后再花太多时间“艰难地”做事。特别注意关于直接使用html的教程页面,以及关于动态ui的部分@Spacedman是的,虽然我将来可能会将后端移到node.js,但它目前是一个基于客户端浏览器的项目。你能添加一个关于R-node的解释吗?当然,我没有亲自尝试过,但这是直接从gitourious引用的,你只需要再点击一点点。。。链接:)///R-Node是统计分析包R的web前端。使用此前端,您可以从任何web浏览器连接到远程(或本地)服务器上运行的R实例,并与之交互,发送命令和接收响应。特别是,绘图命令(如plot()和hist())将在浏览器中执行>,将图形绘制为SVG图像。在此处输入信息总是更好的,答案本身也更好。网页有一个移动或被编辑的坏习惯。看起来是一个有用的软件包,所以希望它能继续存在。我想这可能是我最好的选择。谢谢链接断了!链接断开,这是备份