1

Java から R ファイルを実行しようとしています。これが私が試したコードです。

RCaller caller = new RCaller();
RCode code = new RCode();  
caller.setRscriptExecutable("D:\\R\\R-3.0.2\\bin\\Rscript.exe");    
code.clear();
caller.setRCode(code);
code.R_source("D:\\Data\\Workspace\\Cpackage\\try.R");
caller.setRCode(code);
caller.runOnly();

try.R ファイル

myinput<-function(){
//loading a csv file,reading it and creating an excel file(Working when it is run from r directly)
}

myinput()

上記の rcaller Java コードは何もしません。私が何か間違ったことをしている場合は助けてください。これを非常にひどく行う必要があります。これを達成する他の方法がある場合は、提案してください!

4

1 に答える 1

0

RCaller は、で指定されている Java パス形式を変更しません。

code.R_source("D:\\Data\\Workspace\\Cpackage\\try.R");

Rフォーマットに。これにより、次のようなRコードが生成されます

source("D:\\Data\\Workspace\\Cpackage\\try.R")

だからあなたはそれをに変更する必要があります

code.R_source("D:/Data/Workspace/Cpackage/try.R");

Rcaller sourceでソース コードを確認するとよいでしょう。

public void R_source(String sourceFile) {
    addRCode("source(\"" + sourceFile + "\")\n");
}

文字どおり与えられた R ファイルを R 文字列として関数を定義します。

于 2014-05-07T10:26:11.240 に答える