3

R で記述された長い関数があり、この関数を Java で呼び出したいと考えています。現在、JRI を使用して R と Java をリンクしています。eval(XX) を使えば、Java 環境で R からのリターンを得ることができます。しかし、関数が長いため、各行を評価するのは非現実的です。参照を生成するために使用toJava()する方法と、Java で使用する方法を教えてください。

私は例をグーグルで検索しました:ここにコードを入力してください

.jinit()
  # requires JRI and REngine classes
  .jengine(TRUE)
  f <- function() { cat("Hello!\n"); 1 }
  fref <- toJava(f)
  # to use this in Java you would use something like:



 # public static REXP call(REXPReference fn) throws REngineException, REXPMismatchException {
  #  return fn.getEngine().eval(new REXPLanguage(new RList(new REXP[] { fn })), null, false);
  # }
  # .jcall("Call","Lorg/rosuda/REngine/REXP;","call", fref)

Fref は R 環境で作成できますが、Java で参照するにはどうすればよいですか?

例: R の関数は : f= function (){a=c(1,2,3); b=c(2,3,4); return (a+b)} この関数を Java にロードして結果を計算するにはどうすればよいですか?

4

0 に答える 0