2017-03-02 16 views
5

के साथ आर एकीकरण मैं नोड जेएस के साथ आर को एकीकृत करना चाहता हूं। मुझे r-script नामक एक साधारण एनपीएम के बारे में पता चला जो आर स्क्रिप्ट को नोड जेएस पर चलाने की अनुमति देता है।नोड जेएस

आप में से जो लोग नहीं जानते के लिए क्या आर स्क्रिप्ट निम्नलिखित नोड जे एस IntegrationTest.R आर स्क्रिप्ट

नोड जे एस कोड

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') 

इतना ऊपर प्रिंट करता है नमस्ते ठीक है जब मैं नोड जेएस कोड चलाता हूं।

तब जब मैं नीचे लिपि की कोशिश करता हूं (आर स्क्रिप्ट आर स्टूडियो पर काम करता है), तो यह मुझे त्रुटि फेंकता है और Loading Required Packages : ape कहता है।

मैंने सोचा कि शायद यह नहीं पता कि आर पैकेज कहां से प्राप्त किया जाए, इसलिए मैंने भंडार निर्दिष्ट किया लेकिन यह अभी भी मुझे एक ही त्रुटि फेंकता है।

कोई भी जो नोड जेएस के साथ आर को एकीकृत करने का प्रयास करता है, वही चीज़ अनुभव करता है या जानता है कि यहां क्या हो रहा है?

धन्यवाद

नोड जे एस

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) 

मैं ईमानदारी से लगता है कि दो आर स्क्रिप्ट के बीच फर्क सिर्फ इतना है कि पहले किसी भी पैकेज लोड नहीं करता है और दूसरा पैकेज लोड करता है।

+0

क्या नीचे समाधान संकल्प आपका सवाल? मैंने एक ही समाधान की कोशिश की और ऐसा नहीं हुआ। मुझे एक खाली आउटपुट मिलता है, यानी, console.log() ' – Benny

उत्तर

1

मुझे आशा है कि इससे पहले कि आप एक जवाब मिला, लेकिन आपकी समस्या आप 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).

उदाहरण needs का उपयोग कर:

import MASS package for isoMDS 
needs(MASS) 
+0

यदि कोई उपर्युक्त फ़िक्स को कार्यान्वित करने का प्रयास करता है और एक Rstudio त्रुटि में आता है: 'त्रुटि: पैकेज या नामस्थान लोड' जरूरतों 'के लिए विफल: ....: नहीं कर सकता फ़ाइल खोलें .../Rprofile.site ': अनुमति अस्वीकृत ' RStudio से बाहर निकलने का प्रयास करें और इसे' व्यवस्थापक के रूप में चलाएं 'विकल्प के तहत, और फिर' लाइब्रेरी (आवश्यकताएं) निष्पादित करने के विकल्प को फिर से खोलने का प्रयास करें। – Benny