問題タブ [jri]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - JRIを介してggplots2パッケージを読み込めません
JRI インターフェースを介して ggplot2 パッケージをロードする際に問題が発生しています。ggplot2 は R スクリプトを介して正常に読み込まれるため、適切にインストールされていると思います。次のエラーが発生したのは、JRI を介してロードしようとしたときだけです。
したがって、ggplot2 では plyr パッケージをロードする必要があります。このパッケージは、R スクリプトで実行するとロードされますが、JRI からはロードされません。これは、JRI をロードする前に環境変数 (おそらく LD_LIBRARY_PATH) が正しく設定されていないことが原因であると思われます。R スクリプトを見ると、このパスがどこに設定されているかわかりません (R スクリプトは、plyr が必要な R_NilValue シンボルを見つけるためにすべての環境変数を正しく設定しているようです)。すべての環境変数設定を R スクリプトから JRI のロードに使用するスクリプトにコピーしました (これにより、R_HOME、R_SHARE_DIR、R_INCLUDE_DIR、および R_DOC_DIR が正しく設定されます。JRI を介して他のパッケージをロードする際にも問題が発生していました。これらの環境変数を設定したところ、これらの問題が解決されました)。ただし、これはエラーを修正しません。さらに、私は rJava/JRI 提供の Run スクリプトから ggplots2 パッケージをロードしようとしましたが、それでも同じエラーが発生します。R_NilValue が定義されている場所と、私が間違っていることを誰か教えてもらえますか?
パッケージrJava 0.9-0およびggplot2 0.8.9を使用して、sparc-sun-solaris2.10 32ビットプラットフォームでRバージョン2.13.0を実行しています。
java - JRIを使用してJavaからRでcsvファイルを作成する
これが明らかな場合は事前にお詫びしますが、オンラインで答えを見つけることができないようです。JavaからRでcsvファイルに書き込めるかと思っていました。たとえば、通常のデータを作成してcsvファイルに書き込む場合、次のように機能すると思いました。
また、控えめに言っても、JavaからRでオブジェクトを作成した場合、後でそれにアクセスする方法はありますか?簡単な例:
java - REXPオブジェクトを二重配列に変換する(Java / R)
たとえば、Rで通常のデータを生成し、このデータをJavaで使用するようにします。REXPオブジェクトを配列に変換する関数があることは知っていますが、機能していないようです。これが私が持っているものです:
何が悪いのかを確認するために両方を印刷しました。結果は次のとおりです。
問題は、Rが結果をJavaに返す方法です。それはjavaにxが何であるかを伝え、それらが文字列である場合は[String *(.. whatever ..)]と言います。かっこに何が入っているかが欲しいだけです。また、返される行は文字列です。
大きなデータを処理するので、高速にしたいです。私はサブセットを使用して、括弧内にあるものを抽出し、それらをdoubleに解析しようとしましたが、より良い解決策があるはずです。また、100ポイントを超えるデータでは機能しないようです。
java - Java から R の csv ファイルを読み込む (JRI を使用)
JRIを使用してJavaからRにcsvファイルをロードしたい。何らかの理由でこれを実行しようとすると、プログラムが終了し、エラーも結果も返されません。ここに私のコードがあります:
私が言ったように、何も起こらず、プログラムはただ終了します。次のコードが機能するため、接続があり、csv ファイルをロードするためにプログラムが終了していることはわかっています。
結果は25点!追加情報として、環境変数 PATH、R_INCLUDE_DR、R_SHARE_DR、R_DOC_DR を設定しました。
前もって感謝します、
アラン
java - R、Java、JRIを使用してグラフをプロットするにはどうすればよいですか?
私はRを初めて使用するので、これが非常に基本的な質問である場合はご容赦ください。
私はいくつかの計算を行い、最後に箱ひげ図をプロットするRスクリプトを作成しました。このスクリプトをRコンソールから実行すると、正常に実行され、グラフがプロットされます。
Javaプログラム(JRIサイトにあるサンプルrtest.javaプログラム)からスクリプトを実行すると、計算は正常に行われます。しかし、グラフのプロットにはいくつかの問題があります。フレームウィンドウが開き、ビジー状態のままでハングします。(ウィンドウをクリックしようとすると、「応答していません」と表示されます。)JRIを使用しています。
これは私がスクリプトでグラフをプロットする方法です:
上記のコマンドは、Rコンソールで正常に機能します。
これは、インポート/パッケージまたは同様の設定に関するものであると確信しています。しかし、それが正確に何であるかを知ることはできません。
誰かがこれを手伝ってくれますか?
ありがとう。
編集1: 私の箱ひげ図コマンドの出力:

Johnが提供するリンクでのこのコードの出力:

java - JRIとR-出力をキャプチャできません
JavaとR(JRIとRengine)を使用していくつかのグラフをプロットしようとしています。私のコードでこのようなものを書くとき、それはうまくいきます:
しかし、私がこれを書くと:
出力ウィンドウが一瞬点滅して消えます。この指定されたファイルには、最初のコマンドとして1つのコマンドのみが含まれています。re.eval("plot(c(1,5,3,8,5), type='l', col=2)");
私はRに非常に慣れていないので、これは非常に基本的な質問かもしれません。しかし、私はそれを見つけることができません。誰かが私を助けることができますか?
ありがとう。
編集1
私はWindowsXPを使用しています。
完全なコードは次のとおりです。
java - JavaからRにjava.sql.Connectionを渡すことは可能ですか?
Java アプリケーション内で R を使用したいと考えています。JavaからRを実行できるインターフェースがいくつかあります(JRIを使用すると思います)。RJDBC ライブラリを使用すると、R は JDBC ドライバーを使用してデータベースに接続できます。
私がやりたいことは、開いた接続を Java アプリケーションから R に渡して、すぐに使用できるようにすることです。
これは可能ですか?
編集: R のパラメーターを渡し、R から新しい接続を開くことができます。rJava を使用して R から Java オブジェクトにアクセスできます。
可能であればjava.sql.Connection、Java にあるオブジェクトを R に渡し、R が RJDBC を使用してデータベースにアクセスするために使用する R 接続オブジェクトの接続を変換します。
java - JRIを使用してJavaからRを呼び出し、戻り値をキャストする方法
JRI を使用して Java からいくつかの R コマンドを実行しています。R の結果を Java でさらに計算に使用したいのですが、返されたオブジェクトをキャストする方法がわかりません。
Java でコードを呼び出します。
R コードの最後の行:
--
Java コンソールでの出力:
「3.050462038715372」は正しい値ですが、Java でどのようにアクセスできますか?
よろしく、イマヌエル
PS。答えのない関連する質問: REXP オブジェクトを double 配列に変換する (Java/R)
java - Java から呼び出された式を R で評価しています。メモリ不足エラー: Java ヒープ
Java から R に大きなデータセットをロードする際に問題があります。問題は、実際に私が使用している関数にあります: re.eval(). ファイルをRにロードしてRで分析/操作できるようにしたいのですが、これをJavaから行いたいです(これはGUIを構築するためです)。
関数に実行させたいのは、提供した文字列を解析して評価することですが、 eval 関数は結果を解析、評価して返します。ヒープ サイズに関して Java からメモリ不足エラーが発生します。これは私が現時点で持っているコードです:
このコードは、13500x220 のデータフレームで作業していたときに機能しました。新しいデータフレームは 50000x700 です。上記のコードで正確に何が起こっているのかも疑問に思っていましたか? R で作成され、Java に送り返されます (つまり、複製されますか?)。
ヘルプ/コメントをいただければ幸いです。また、Rosuda Rengine クラスの説明と利用可能な機能も調べました。問題を解決できるかもしれないと思っていrniEval()ましたが、実装方法がわかりません。
java - RスクリプトをJRIにロードしてJavaから実行するにはどうすればよいですか?
私は JRI を使用して Java から R を実行していますが、JRI がeval()メソッドを使用して R コマンドを実行していることがわかりました。実行用の R スクリプトが 1 つあります。
このスクリプトを JRI にロードして実行するにはどうすればよいですか?