私は Java を使用しており、アドオン R ライブラリを使用し、そのライブラリ内の関数を使用する必要があります。次の質問で提供されている回答を試しました
RスクリプトをJRIにロードしてJavaから実行するにはどうすればよいですか?
R が作成したライブラリを Java/JRI コードにロードする際の問題
しかし、まだ NullPointerException が発生します。誰でもエラーを指摘できますか。ありがとうございました
これが私が使用しているコードです:
import org.rosuda.JRI.REXP;
import org.rosuda.JRI.RVector;
import org.rosuda.JRI.Rengine;
public class RConnect {
public void processFiles(String[] spectrumData)
{
// new R-engine
Rengine re=new Rengine (new String [] {"--vanilla"}, false, null);
if (!re.waitForR())
{
System.out.println ("Unable to load R");
return;
}
else
System.out.println ("Connected to R");
REXP rexpSetFolder = re.eval("setwd('/home/user/R/x86_64-pc-linux-gnu-library/3.0')");
REXP rexpFolder = re.eval("getwd()");
System.out.println(rexpFolder.asString());
REXP rexpLoad = re.eval("library(PROcess)");
RVector f1 = (re.eval("read.files(spectrumData)").asVector());
System.out.println(f1);
re.end();
}
}