2012-04-14 2 views
2

J'essaie d'importer la prévision du paquet R; dans netbeans pour utiliser ses fonctions. J'ai réussi à établir la connexion JRI et aussi à importer la bibliothèque javaGD et à l'expérimenter avec un certain succès. Le problème avec le package de prévision est que je ne trouve pas les fichiers JAR correspondants pour les inclure en tant que bibliothèque dans mon projet. Je le charge normalement: re.eval (library (forecast)), mais quand j'implémente l'une des fonctions de la bibliothèque, une valeur nulle est retournée. Bien que je sois tout à fait sûr que le code est correct, je le publie juste au cas où.Importer les fichiers JAR de la bibliothèque de prévisions R dans java

tnx à l'avance

 Rengine re = new Rengine(Rargs, false, null); 
    System.out.println("rengine created, waiting for R!"); 
    if(!re.waitForR()) 
    { 
     System.out.println("cannot load R"); 
     return; 
    } 
    re.eval("library(forecast)"); 
    re.eval("library(tseries)"); 

    re.eval("myData <- read.csv('C:/.../I-35E-NB_1.csv', header=F, dec='.', sep=',')"); 
    System.out.println(re.eval("myData")); 

    re.eval("timeSeries <- ts(myData,start=1,frequency=24)"); 
    System.out.println("this is time series object : " + re.eval("timeSeries")); 

    re.eval("fitModel <- auto.arima(timeSeries)"); 
    REXP fc = re.eval("forecast(fitModel, n=20)"); 
    System.out.println("this is the forecast output values: " + fc); 
+0

et c'est la sortie que je reçois: rengine créé, en attente de R! [VECTOR ([REAL * (8.81, 8.805, ... (140 autres valeurs suivent))])] cet objet de série temporelle est: [REAL * (8.81, 8.805, 8.77, 8.78, 8.78,, 9.375, 9.525, 9.15, 9.19, 9.12, 9.05, 9.02, 9.075, 9.08, 9.145, ... (140 autres valeurs suivent))] ce sont les valeurs de sortie de la prévision: null ???? VOICI LE PROBLÈME – user1333584

+0

Se pourrait-il que l'argument de prévision soit h = 20 pas n = 20? –

Répondre

1

Vous n'avez pas converti les valeurs de R en java, vous devez d'abord créer un vecteur numérique de sortie auto.arima en R, puis utiliser pour lire la méthode .asDoubleArray() en Java.

J'ai donné un exemple complet dans [ici] How I can load add-on R libraries into JRI and execute from Java?, qui montre exactement Comment utiliser la fonction auto.arima en Java en utilisant JRI.

Questions connexes