I want to integrate R with node JS. I found out about a simple npm called r-script
which allows r script to be run on node js.
For those of you who don't know what r-script does the following node JS runs the IntegrationTest.R
R script
node JS code
var R = require('r-script');
var out = R('/Users/JC/Documents/Programming/R/Tutorial/IntegrationTest.R')
.data()
.callSync();
console.log(out);
IntegrationTest.R script
print('hello')
so above prints hello just fine when I run the node JS code.
Then when I try the script below (the R script works on R studio by the way), it throws me error and says Loading Required Packages : ape
.
I thought maybe it doesn't know where to get the R package from so I specified the repository but it still throws me same error.
Anyone who attempted to integrate R with node JS experience the same thing or know what's going on here?
Thank you
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)
I honestly think the only difference between the two R script is that the first doesn't load any package and the second loads a package.
Node.js allows you to run JavaScript on the server.
Open the file in R studio and press CTRL+ENTER in each line. Then you can see the result on the right side. Horray…if you are just NodeJs developer, Now you know how to run an RScript.
It provides an API that other modules can use to add realtime capabilities to Drupal, such as push notifications or chat. The module relies on a Node. js server application that maintains an open connection with the visitor's browser to enable instant communication.
I hope you found an answer before, but your problem is you are not using needs like it recommends on the 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).
Example using needs
:
import MASS package for isoMDS
needs(MASS)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With