1

この質問の2番目以降のように、JavaサーブレットからRを正常に実行し、処理されてプロセスのstdin、stdout、およびstderrストリームにフックするシステムをセットアップしました。

システムのアップグレード(glibcを含む)後、入力はRプロセスに到達しなくなります。*

これまで、「R --vanilla --slave -f[file]...」は問題なく機能していました。また、現在スイングの依存関係がないため、追加するのは少し気が進まない。(実際にはスイングの依存関係を追加できない場合があります。REngineを使用すると自動的にスイングが取り込まれるのは正しいですか?例ではすべてのスイングがインポートされます。)

JRIに切り替えることには利点がありますか?Rスクリプトにどのような変更を加える必要がありますか?(現在、stdinから読み取り、stdoutに書き込みます)。この状況でJRIを使用する方法について、提供されている例がひどく役立つとは思いません。

あなたの助けとコメントをありがとう。

*問題がデータの書き込みが早すぎるのか遅すぎるのかさえわかりませんが、それは別の問題/質問です。JRIに移ったら、すべてが無意味になることを願っています。

4

1 に答える 1

2

私の2セント:

JRIとの仕事は簡単だと思います。JRI には、JRI の使用方法を示す良い例がいくつか用意されています。

一般に、スクリプト全体を式としてeval()関数に渡すだけで、戻り値を処理できるため、スクリプトに大きな変更を加える必要はありません。私が見た主な利点は、Java コード内から R プロセスを処理しているため、システム コールを行わなくても例外を適切に処理できることです。JRI は、Java の R データ型に相当するものもいくつか提供していRVectorます。

于 2010-03-26T20:40:44.163 に答える