を経由JAVAからベクトルとしてRへのfloat/double配列を送信するためにはどうすればRにARIMA WRT を予測を使用したいです予測に使用する値/データはpostgres DBにあります。 RPostgreSQLをRから直接取得してDBからデータを取得することもできますが、RIに送信する前にJAVAでDBデータを処理したい場合は、後でRに転送したいと思いますポストグルDBからデータを取得することができ、すぐにプリミティブフロート/ダブル配列型に処理し、'Rserve'を通してRに送信しようとしています。の例外エラーを投げています。私はこのRにはまったく新しいので、これを作るのが難しいと思っています。 誰でも問題を確認し、あなたの提案をコメントしてください。は私が<strong>を通じて<strong>でRserve</strong>、 をJavaの</strong>を<strong>R</strong>を使用していRServe
より良く理解するために以下のスニペットを表示してください:
List<Float> xfval = new ArrayList<Float>();
Statement data_statement = dbComp.createStatement();
String command = "SELECT * FROM to_forecast";
ResultSet res=data_statement.executeQuery(command);
while(res.next())
{
xfval.add(res.getFloat("values"));
}
/*
*
Here I have process data of 'xfval'
w.r.t to condition but I'm not disclosing any
logic w.r.t to processing
*
*
*/
RConnection connection = new RConnection();
String load_pkgs = "require(Rserve); require(forecast)";
connection.eval(load_pkgs);
float[] floatArray = ArrayUtils.toPrimitive(xfval.toArray(new Float[0]), 0.0F);
//below line is that where I'm getting the syntax error exception
connection.eval("xData=("+floatArray+")").asDouble();
String strx2 = "x = xData[1:100,1];";
connection.eval(strx2);
/*the code continues*/
をそして私はまた、Rを使用せずにARIMAと技術を予測直接JAVAでを使用して提案を持っていると思います。 私がRを選んだのは、RがARIMAと予測技術を実行できるということです.JAVAのためのオープンソースAPIやライブラリがあれば、私はできるだけ早く呼び出せます。私は画像の下に添付しています例外の詳細については
:あなたはRConnectionのドキュメントで見ることができるように
はあなたに
xData =( "+ floatArray +" 'xData =(" + Arrays.toString(floatArray)+ "'を試してみましたか? – BevynQ
@BevynQあなたの提案は何の効果もありませんでした... :(Rを使わずにJavaで予測するためのテクニックを知っていれば教えてください – balu