javascript - R 与 Node JS 的集成

标签 javascript r node.js

我想将 R 与 Node JS 集成。我发现了一个名为 r-script 的简单 npm,它允许 r 脚本在 Node js 上运行。

对于那些不知道 r-script 做什么的人,以下 Node JS 运行 IntegrationTest.R R 脚本

Node JS代码

var R = require('r-script');
var out = R('/Users/JC/Documents/Programming/R/Tutorial/IntegrationTest.R')
.data()
.callSync();

console.log(out);

IntegrationTest.R 脚本

print('hello')

所以当我运行 Node JS 代码时,上面打印 hello 就好了。

然后当我尝试下面的脚本(顺便说一下,R​​ 脚本在 R studio 上工作)时,它会抛出错误并说 Loading Required Packages : ape.

我想它可能不知道从哪里获取 R 包,所以我指定了存储库,但它仍然抛出同样的错误。

任何尝试将 R 与 node JS 集成的人都遇到过同样的事情或知道这里发生了什么?

谢谢

Node JS

var R = require('r-script');
var out = R('/Users/JC/Documents/Programming/R/Tutorial/MoransI.R')
.data()
.callSync();

console.log(out);

MoransI.R

if (!require("ape")) {
install.packages("ape", repos="http://cran.rstudio.com/") 
library("ape")
}

ozone <- read.csv('/Users/JC/Documents/Programming/R/Tutorial/ozone.csv', sep=',', header=T)
head(ozone, n=10)

ozone.dists <- as.matrix(dist(cbind(ozone$Lon, ozone$Lat)))

ozone.dists.inv <- 1/ozone.dists
diag(ozone.dists.inv) <- 0

ozone.dists.inv[1:5, 1:5]

Moran.I(ozone$Av8top, ozone.dists.inv)

老实说,我认为这两个 R 脚本之间的唯一区别是第一个不加载任何包,而第二个加载一个包。

最佳答案

我希望您之前找到了答案,但您的问题是您没有使用 needs喜欢它在 Github readme 上的推荐:

r-script

A simple little module for passing data from NodeJS to R (and back again).

Data passed from node is converted into a list and loaded into the R environment as the variable input. No special syntax in R is needed. For better portability/reliability, it's recommended to load packages with needs (comes packaged inside the module — no installation required).

使用需要的示例:

import MASS package for isoMDS
needs(MASS)

关于javascript - R 与 Node JS 的集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42564830/

相关文章:

node.js - 使用 mongoose 通过 update 方法向 mongodb 中的现有文档添加新字段

javascript - Javascript Dom 中,新添加的元素无法被选中?

javascript - 使用 Enter 跳转到下一个 div,而不是输入?

javascript - 在单输入和多输入之间动态切换所选的 js

Rcpp - 从自定义分布生成多个随机观察值

javascript - 一系列 promise 如何在不被消耗/履行的情况下返回?

javascript - 基于条件的不同ng类?

R:在极坐标中绘制半径 = 1 和角度 0-2pi 的圆?

r - knitr 和绘制神经网络

node.js - 如何使用异步 Node.js 最好地处理此分页?