JRIから作成された変数は私のディスクに保存されますか -- java フィールド と r フィールド と jri フィールド 関連 問題

Where does a variable created from JRI gets stored on my disk












0
vote

問題

日本語

私は簡単なJriコードを持っています:

<事前> <コード> <% Rengine re = Rengine.getMainEngine(); if (re==null){ re = new Rengine (new String [] {"--vanilla"}, false, null); } re.eval("pull_data2 <- function(...){df3 <<- read.csv(file="/tmp/data.csv", header=T)}"); re.eval("pull_data2()"); String val = re.eval("df3").toString(); %> <h3><%=val%></h3>

DF3を示すブラウザに値が印刷されていることを示します。

しかし私のディスクにRにログインすると、そのような「DF3」変数はありません。だから、バックエンドから変数を見るにはどうすればいいですか?

<事前> <コード> > df3 Error: object 'df3' not found >
英語

I have a simple JRI Code :

<%     Rengine re = Rengine.getMainEngine();     if (re==null){         re = new Rengine (new String [] {"--vanilla"}, false, null);       }          re.eval("pull_data2 <- function(...){df3 <<- read.csv(file="/tmp/data.csv", header=T)}");        re.eval("pull_data2()");     String val = re.eval("df3").toString();       %>      <h3><%=val%></h3> 

The values are getting printed on my browser indicating df3 is populated.

But when I login to R on my disk, there is no such "df3" variable. So, how can I see the variable from backend?

> df3 Error: object 'df3' not found  > 
</div
        
 
 

回答リスト

0
 
vote
vote
ベストアンサー
 

parent_id2 Engineクラスを使用することを検討してください。これを使用すると、R Consoleの出力を簡単に設定することができます。これにより、サーバー(バックエンド)ログを介してR変数割り当てとRデータ処理を追跡できます。これが、JVMで実行されるRENGINEインスタンスに実際にロードされているデータを検査する方法です(AFAIKがコンピュータ上で開くRコンソ​​ールと同じではありません)

下記の例を参照してください。

<事前> <コード> parent_id3

ログは次のようになります。

<事前> <コード> parent_id4
 

Consider using the org.rosuda.REngine.REngine engine class. With this one you can easily configure a R console output which allows to track R variable assignments and R data processing through your server (back-end) logs. This is how you can inspect the data actually loaded in the REngine instance that runs with your JVM (which AFAIK is not the same as the R console that you would open on your computer)

See below example.

REngine re = REngine.getLastEngine(); if (re==null){     re = REngine.engineForClass("org.rosuda.REngine.JRI.JRIEngine",                                 new String [] {"--vanilla"},                                 new REngineStdOutput(), // R console output                                 false);  }      re.parseAndEval("myfunction <- function() {myvar <<- "something"; print(paste0("logging 'myvar' in R:", myvar));}");    re.parseAndEval("myfunction()");  REXP jriObj = re.parseAndEval("myvar"); String myvar = jriObj.asString(); System.out.println("logging 'myvar' in Java: " + myvar); 

The log will be as follow:

[1] "logging 'myvar' in R:something" logging 'myvar' in Java: something 
</div
 
 

関連する質問

1  R.メモリエラーの中でJavaから呼び出された式の評価エラー:Javaヒープ  ( Evaluating expressions called from java in r out of memory error java heap ) 
JavaからのRに大きなデータセットをロードするという問題があります。問題は実際には、 re.eval() を使用している機能とともに問題です。私はRでそれを分析/操作できるようにファイルをRにロードしたいのですが、これをJavaから実行したい(これはGUI...

2  gwidgetswww localserverstart()jri  ( Gwidgetswww localserverstart through jri ) 
gWidgetsWWW を使用してWeb上で対話型Rグラフィックをプレゼントしようとしています。私の標準Rコマンドラインを使用するとき、これはすべて完全に機能します。私が使用するコードは、例えば: <事前> <コード> > library(gWidgets...

0  JRIを用いたRニューラルネットワーク結果の問題  ( Problems with r neural network results using jri ) 
だから私の問題です。 Rのスクリプトを使用して、ファイルの欠落値を生成するためのニューラルネットワークを作成するために、このファイルは次のとおりです。 <事前> <コード> Flag | Date | Time | Value V | 2...

3  jri.dll:扶養ライブラリを見つけることができません  ( Jri dll cant find dependent libraries ) 
RJAVA / JRIを使用してRコードを呼び出すWindowsコンピュータ上のJavaプロジェクトを設定しようとしています。 JDK 1.8 、<コード>、<コード>および<コード>および<コード>および<コード>および<コード>および<コード>および<...

1  Add-On RライブラリをJRIにロードしてJavaから実行できる方法は?  ( How i can load add on r libraries into jri and execute from java ) 
私はJavaを使って作業しており、アドオンRライブラリを使用してそのライブラリ内の関数を使用する必要があります。次の質問で提供された答えを試してみました rスクリプトJriとJavaから実行しますか? Javaで作成されたライブラリの読み込みjava...

1  Rjavaは新しいラップトップにインストールされていません  ( Rjava not installing on new laptop ) 
新しいGTXノートパソコンを受け取り、何らかの理由で、私は単にRJAVAをインストールすることができません。 JavaとJDKのインストールで何をしても、次のメッセージが表示されます。私はアンインストール、再起動、再開、java(最新バージョン)、そしてRTO...

5  rスクリプトをJRIにロードしてJavaから実行できる方法は?  ( How i can load a r script into jri and execute from java ) 
JRIを使用してJavaからRを実行しています.JRIが eval() メソッドを使用してRコマンドを実行することを見ました。実行用のRスクリプトが1つあります。 このスクリプトをJRIでロードして実行することができますか? ...

1  JRIを使用してJavaからRを呼び出し、戻り値をキャストする方法  ( Call r from java using jri how to cast return value ) 
JRI.Iを使用してJavaからのRコマンドを実行しています。これは、さらなる計算のためにJavaのRからの結果を使用したいですが、返されたオブジェクトをどのようにキャストしてもわかりません。 Javaのコールコード: <事前> <コード> REXP x;...

4  REXPオブジェクトをDouble Arrayに変換する(Java / R)  ( Converting rexp object to a double array java r ) 
通常のデータを作成してから、このデータをJavaで使用したいです。 REXPオブジェクトを配列に変換する機能があることを知っていますが、機能していないようです。これが私が持っているものです: <事前> <コード> REXP x; x = re.eval("rn...

0  JRIを使用してJavaからRにCSVファイルを書き込む  ( Writing a csv file in r from java using jri ) 
事前に謝罪しても、これが明らかであるが、オンラインでの答えを見つけることはできないようです。 JavaからRのCSVファイルに書き込むことが可能であるかどうか疑問に思いました。たとえば、通常のデータを作成してCSVファイルに書き込むことができれば、これが機能す...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有