独自の新しい R ライブラリ (「メディア」と呼ばれる) を作成しました。RGuiで読み込んでみると問題なく、新しいパッケージで定義された関数を呼び出すことができます。これは私がそれをロードする方法です:
> library(Media)
しかし、私はJava/JRIコードからその関数を呼び出そうとしています.新しいRパッケージをロードすると、Javaはパッケージを見つけられないようで、「ライブラリ(メディア)のエラー:オブジェクト'メディアのエラー」というメッセージがスローされます. ' 見つかりません"
これは、JRIを使用した私の現在のコードです:
REXP rexpSetFolder = re.eval("setwd('C:/Users/Albert/Documents')");
REXP rexpFolder = re.eval("getwd()");
System.out.println(rexpFolder.asString());
REXP rexpLoad = re.eval("library(Media)"); // fails
また、「setwd」コマンドがないと失敗し、既存の R 関数への単純な呼び出しは正常に機能します。WindowsでR 2.10と最新のJRI 0.5-0を使用しています。
どんな助けでも大歓迎です。どうもありがとうございました。
編集:
パラメータlib.loc
は機能しているようですが、少なくとも次の文はエラーを返しません。
library("Media", lib.loc = "c:/Users/Albert/Documents")
しかしその後、re.eval("myfunction()");
関数が適切に見つからないため、パッケージ内の関数を呼び出しても失敗します。