問題タブ [rinside]

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.

0 投票する
3 に答える
3317 参照

c++ - UNIX で g++ コンパイラを使用して C++ コードから R および RInside ライブラリにリンクすると、未定義の参照エラーが発生する

R を C++ プログラムに組み込みたい。そこで、R、Rcpp、RInside もインストールしました。しかし、UNIX で g++ を使用してコンパイルしているときに、多くの「未定義参照」エラーが発生します。コンパイルのために私が与えるコマンドは

g++ -I/path/to/R/include -I/path/to/Rcpp/include -I/path/to/RInside/include -L/path/to/R/libs -L/path/to/Rcpp/ libs -L/path/to/RInside/libs test.cpp -lRlapack -lRcpp -lRblas -lRInside"

test.cpp:

エラー:

R 変数に対して同様の 110 の未定義エラーが発生します。R およびその他のパッケージをデフォルトの場所ではなく、自分の場所にインストールしました。このエラーで 2 日間立ち往生しています。リンクなど、すべてを正しく行っているようです。よろしくお願いします。

0 投票する
1 に答える
458 参照

c++ - RInside コードのコンパイル中にエラーが発生しました

RInside を使用して R コードをコンパイルしたいと考えています。しかし、関数 read.csv の使用中にエラーが発生します。コード スニペットを以下に示します。

次のようなエラーが表示されます。

0 投票する
1 に答える
115 参照

r - C++ から呼び出された場合の R のインスタンス化

Rcpp と RInside を使用して、R ベースのコードを c++ に相互接続しています。私は、C++ から R に対して複数の異なる呼び出しを行います。R を呼び出すたびに R の新しいインスタンスが作成されるかどうかを知りたいですか?

これを知りたい理由は、C++ コードを最適化したいからです。事前に計算を行うなどします。しかし、呼び出しが内部でどのように処理されるかわかりません。

thnx

-エゴン。

0 投票する
2 に答える
2263 参照

r - RInside/Rcppを使用してC++からRプロットを呼び出す

C ++からプロット関数を呼び出すことは可能ですか?現在、私がそれを行おうとすると、ubuntuターミナルはしばらくの間フリーズし(3Dプロットが作成されてから、360度完全に回転する期間である可能性があります)、新しいウィンドウをポップすることなくフリーズを解除します。これは予想される動作ですか、それとも私が間違っていることはありますか?rinsideとrcppを使用してC++内からプロット(Rグラフィックス)を実行するにはどうすればよいですか?

Thnx

-エゴン

0 投票する
1 に答える
424 参照

oop - RInsideの「R」インスタンスをクラス/メソッド間のパラメーターとして渡す

私はRC++を統合するために、RcppとRInsideを使用しています。複雑でありながら適切に設計されたC++アーキテクチャがあり、1つの関数内からRにアクセスするのは難しいと感じています。R より多くのOOP設計を得るために、インスタンスを異なるクラス/関数に渡すことは可能ですか?はいの場合、例はありますか?

クエリを詳しく説明するために、私はこのようなことを言いたいと思います、


私が現在気付いているのは、fooを呼び出すたびに、おそらくRInsideの新しいインスタンスが作成されるということです。

ありがとう-エゴン

0 投票する
3 に答える
2632 参照

c++ - WindowsでのRInsideサンプルのコンパイルに関する問題

Windows環境を使用せざるを得ない職場でRInsideをセットアップしようとしています。

RToolsをインストールし、CRANからRInsideバイナリをダウンロードしました。

私のRインストールはc:\ R \ R-2.12.2にあるので、スペースのあるフォルダーに問題はありません。

RにRcppパッケージとRInsideパッケージをインストールしました。

ダウンロードしたRInsideバイナリに含まれている次のmakefileMakefile.winを実行します

コマンドで

含まれている標準的な例をビルドしてみてください

ただし、次のエラーが発生します。

R_HOMEのさまざまなパスを試しましたが、正しいパスを見つけることができるかどうか疑問に思っています。私はmakefileを初めて使用するので、エラー出力はあまり役に立ちません。

誰かが共有するための貴重な洞察を持っていることを願っています!

前もって感謝します、

キリスト教徒

0 投票する
1 に答える
547 参照

r - RInside: parseEvalQ 'Parse Error' により、例外が処理された場合でも、parseEvalQ への後続の各呼び出しで 'Parse Error' が発生します。

C++ 経由で R シェルをエミュレートしようとする私のコードでは、ユーザーが tcp 接続を介して R コマンドを送信し、実行時に RInside::parseEvalQ 関数を介して R インスタンスに渡すことができます。不適切な形式のコマンドを処理できる必要があります。parseEvalQ の引数として不正なコマンドが与えられるたびに、スローされた実行時エラーをキャッチします (RInside.cpp を見ると、parseEval(const string&, SEXP) 関数内で特定のエラーに「PARSE_ERROR」「status」というフラグが付けられています)、what() 「St9exception」例外を与えます。

私は 2 つの問題を抱えています。

1a. 最初の解析エラーの後、引き数が有効であっても parseEvalQ を呼び出すと、別の解析エラーが発生します。埋め込まれた R インスタンスは、解析エラーによって何らかの形で破損していますか?

1b. RInside のドキュメントでは、Rcpp::Evaluator::run を使用して C++ で R 例外を処理することを推奨しています (これは、エラー ステータス 'PARSE_ERROR を返す前に、parseEval(const string&, SEXP) の呼び出し中に R インスタンス内のどこかでスローされていると思われます)。 ')。私はこれを使用しようと実験しましたが、Rcpp::Evaluator::run を実際に使用する方法の例をウェブ上で見つけることができません。

2. 私のプログラムでは、stdout と stderr (C++ レベル) を tcp 接続のファイル記述子に再ルーティングします。RInside インスタンスからのエラー メッセージはコンソールに送信されますが、通常の出力は送信されません。stdout を stderr に再ルーティングするために、RInside コマンド 'sink(stderr(), type="output")' を送信します (stderr がコンソールに表示されているように見えるため) が、通常の出力はまだ表示されません。「print(command)」は機能しますが、通常の R シェルのように stdout をコンソールに直接渡すためのよりクリーンな方法が必要です。

どんな助けや考えも大歓迎です。私のコードの蒸留バージョンを以下に示します。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

0 投票する
1 に答える
575 参照

c++ - mvrnorm&riwish

多変量正規分布と逆ウィシャート分布からサンプリングしたいと思います。Rにはmvrnorm(MASS)とriwish(MCMCpack)があることを私は知っています。RInsideを介してこれらの関数を使用することは可能ですか?

0 投票する
3 に答える
1147 参照

c++ - g++ldがx86_64アーキテクチャのRInsideシンボルを見つけることができません

RInsideサンプルファイルをg++でコンパイルしようとすると、シンボルが見つからないというリンカーエラーが発生します。どんな援助もいただければ幸いです。

Rバージョン2.13.1はMacOSX10.5にインストールされています。RcppおよびRInsideインクルードファイルがusr/includeディレクトリにコピーされました。Rヘッダーとライブラリは、次のようにg++の-Iおよび-L修飾子を使用して含まれています。

rinside_sample0.cppファイルは、以下に示すRInsideパッケージで提供されるサンプルです。

g ++でコンパイルしようとすると、以下に示すエラーが発生します。

誰かが私が間違っていることとそれを修正する方法を教えてもらえますか?どんな援助もいただければ幸いです。

0 投票する
1 に答える
354 参照

c++ - RInsideプログラムでのValgrindの使用

Valgrindを使用してRInsideプログラムをメモリデバッグする方法を知っている人はいますか?