6

Mac OS で Java Netbeans から R スクリプトを実行しようとすると問題が発生します。私は本当にインターネットでこの問題の答えを探していますが、何もうまくいきません。

Rserve と Runtime.getRuntime().exec("Rscript myScript.R") を使用しましたが、どちらも私のプログラムでは機能しません。

Rserve を使用する場合、R コンソールで Rserve(args="--no-save") を実行し、Java プログラムで Rconnection.eval("\myscript.R") を実行すると、プログラムは応答なしで実行を続けます。 、エラーも停止もありません。実際、平均を計算するなど、より単純なRスクリプトを実行しようとすると機能しますが、xts/zoo時系列でdata.frameを強制しようとしたり、単にxts/zooライブラリをロードしようとすると私のスクリプトの最初に、プログラムは実行を停止せず、何もしません。

一方、「Runtime.getRuntime().exec("Rscript myScript.R")」を実行しようとすると、他の同様の投稿に表示されますが、何も起こりません。プログラムはスクリプトを実行するように見えますが、少なくとも実行は停止しますが、結果は得られません。Mac OS が原因で、Java に Rscript または R.app のパスを示すことができなかったのかもしれませんが、よくわかりません。

よろしくお願いします。お役に立てれば幸いです。

ハビ。

ファイルコードは次のとおりです。

public void Rconnection () {

RConnection c=new RConnection();
System.out.println("INFO : Trying to Connect to R");                          
c.parseAndEval("source(\"/scriptname.R\")");
System.out.println("Greeting from R:" + result.asString());
c.close();
}

Rスクリプトは次のとおりです。

EU.df <- read.csv("/myinput.csv",header=T)
EU.xts <- xts(EU.df[,2:5],seq(as.Date("1970-01-02"),len=nrow(EU.df),by="day"))
write.csv(EU.df, file = "/myoutputfile.csv",row.names=FALSE)

R ライブラリの問題か、MAC OS が原因かもしれません。

4

1 に答える 1

0

JRIを使ってみましたか?これは RServe とは異なり、「ブロック」して、より適切なメッセージを提供する可能性があります。

例えば:

REngine re = new JRIEngine(new String[] { "--no-save" }, new RCallback(), false);
re.parseAndEval("source(\"/scriptname.R\")");
re.close();
于 2014-07-14T16:40:00.077 に答える