問題タブ [rcpp]
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 - Rオブジェクトからlong[]を抽出します
Cベースのスパース行列処理コードのラッパーを作成しようとしています(前の質問を参照)。主力のC関数を呼び出すには、次のような構造を作成する必要があります。
dgCMatrix
これらは、スパース行列のスロットにうまく対応しています。dgCMatrix
したがって、理想的には、 (C関数が[まだ行っていない]データをいじらないことを確認した後)の内部配列を指すだけです。
の場合、必要に応じて何かを*value
使用できるようになります。しかし、とについては、適切な配列を取得するための最良の方法がわかりません。エントリをループして新しい配列にコピーし、キャストする必要がありますか?またはここで砂糖を提供できますか?私がRcppを実際に多く使用したのはこれが初めてであり、まだそれに精通していません。REALSXP
double[]
*pointr
*rowind
Rcpp
ありがとう。
編集:私はまた、私が理解していないいくつかのリンクの問題を抱えています:
特別なコンパイルフラグを使用してライブラリを作成する必要がありますか?
編集2:私のlibargs
パラメータは効果がないように見えるので、libsvd
シンボルがライブラリに入ることがありません。を使用してライブラリを含める方法を見つけることができませんcxxfunction()
-これが私が試したものですが、追加のパラメータ(wishful-thinkingly-borrowed from cfunction()
)は黙って飲み込まれています:
何も機能していないので、このプロセス全体が間違っているように感じます。誰かが私を正しい方向に蹴りますか?
c++ - RInside コードのコンパイル中にエラーが発生しました
RInside を使用して R コードをコンパイルしたいと考えています。しかし、関数 read.csv の使用中にエラーが発生します。コード スニペットを以下に示します。
次のようなエラーが表示されます。
r - C++ から呼び出された場合の R のインスタンス化
Rcpp と RInside を使用して、R ベースのコードを c++ に相互接続しています。私は、C++ から R に対して複数の異なる呼び出しを行います。R を呼び出すたびに R の新しいインスタンスが作成されるかどうかを知りたいですか?
これを知りたい理由は、C++ コードを最適化したいからです。事前に計算を行うなどします。しかし、呼び出しが内部でどのように処理されるかわかりません。
thnx
-エゴン。
r - RInside/Rcppを使用してC++からRプロットを呼び出す
C ++からプロット関数を呼び出すことは可能ですか?現在、私がそれを行おうとすると、ubuntuターミナルはしばらくの間フリーズし(3Dプロットが作成されてから、360度完全に回転する期間である可能性があります)、新しいウィンドウをポップすることなくフリーズを解除します。これは予想される動作ですか、それとも私が間違っていることはありますか?rinsideとrcppを使用してC++内からプロット(Rグラフィックス)を実行するにはどうすればよいですか?
Thnx
-エゴン
c++ - Rcpp のベクトルの最小値を見つける
昨夜から と を試してきましたがRcpp
、inline
今のところとても楽しんでいます。しかし、私はC
一般的に初心者で、まだ基本的なことしかできず、関数などについてオンラインでヘルプを見つけるのに苦労しています。
私が取り組んでいたのは、グローバル環境でベクトルの最小値を見つける関数でした。私が思いついた:
しかし、これを行うにはもっと簡単な方法があるはずのようで、それはよりもかなり遅いですwhich.max()
c++
これを行う基本またはRcpp
機能を見落としていますか?もしそうなら、そのような関数のリストはどこにありますか?
この質問は、遅い R 関数を高速化するための C コードの書き方をどこで学べますか? に関連していると思い ます。
しかし、私は に組み込む方法にはあまり興味がなくc++
、で使用できる基本的なコードをR
どこでどのように学ぶかについてもっと興味があるという点で異なります。c++
R
r - Rcpp のレガシー コードのアップグレードに関する質問
Rcpp の最新バージョンへのアップグレードを含むプロジェクトを引き継いでいるため、すべての古いスタイルの API 呼び出しをアップグレードする必要があります (これは、私が信じている CLassic バージョンと互換性があります)。完全な API ドキュメントがないため、試行錯誤してこれを行う必要があり、リンク時に「未定義の参照」エラーに注意してから、ビネット/例を調べます。コンパイルは正常に機能しますが、\inst\libs\RLink.dll へのリンクでエラーが発生します。私は多くのコードを変換することに成功しました (主に Rcpp::List を使用して、受信関数パラメーターと送信関数パラメーターを抽出およびパックします) が、次のものに相当するものを取得できません。
- Rprintf または Rf_error および forward_exception_to_r。
- R_NilValue
- Rf_install
RTools がインストールされた Code::Blocks 10.05 IDE を使用しており、GNU GCC コンパイラが選択されたツールチェーンで Mingw64 が明示的に参照されています。頭を上げてくれてありがとう。ありがとう。
編集:
その前に #include があります (Rcpp の前に iostream をインクルードしたため、一連のエラーが発生しましたが、これは奇妙でした。
r - R データ フレームの実際の制限
read.table が大きなデータファイルに対して効率的でない方法について読んでいます。また、R が大規模なデータセットに適していないことについても説明します。そのため、(1) さまざまなサイズのデータを読み取る (2) さまざまなサイズのデータを操作するための実用的な制限とパフォーマンス チャートはどこで見つけることができるのだろうかと考えていました。
つまり、いつパフォーマンスが低下したのか、いつ障害物にぶつかったのかを知りたいのです。また、C++/MATLAB または他の言語との比較も非常に役立ちます。最後に、Rcpp と RInside の特別なパフォーマンス比較があれば、それは素晴らしいことです!
c++ - パッケージで使用するC++コードをコンパイルするときに、フラグをRに渡すにはどうすればよいですか?
Rcppを使用してパッケージをビルドし、RパッケージでOpenCVのコードを使用しようとしています。自分のマシンでcコードをコンパイルすると、正常に動作します。
たとえば、次の構文をローカルで使用して、facedetect.cppコードをコンパイルしています。
ただし、次のコマンドを使用してパッケージに含めようとすると、次のようになります。
私のmakevarsファイルで次のように定義されています。
Rは以下を実行します。
次のエラーメッセージが表示されます。
私はC++の経験が十分でないため、これらのエラーメッセージを理解していません。私のローカルg++コンパイラのようにRにC++コードをコンパイルさせる方法を知っている人はいますか?「-c」フラグが問題であるかどうかはわかりません...残念ながら、グーグルまたはライティングRエクステンションのマニュアルで答えを見つけることができませんでした。ありがとう!
私が旗に関して抱えていた最初の問題を理解するのを手伝ってくれた以前のレスポンダーに感謝します。
c++ - R の g++ コンパイラを使用して C++ コードをコンパイルしようとすると、「リンカー入力ファイル」の未使用エラーが発生する
Rcppを使用してパッケージをビルドし、RパッケージでOpenCVのコードを使用しようとしています。私のマシンで c コードをコンパイルすると、正常に動作します。
たとえば、次の構文をローカルで使用して facedetect.cpp コードをコンパイルしています。
ただし、次のコマンドを使用してパッケージに含めようとすると:
私のmakevarsファイルで次のように定義されています:
R は以下を実行します。
次のエラーメッセージが表示されます。
私は C++ の経験が十分でないため、これらのエラー メッセージを理解できません。私のローカル g++ コンパイラと同じように、R に C++ コードをコンパイルさせる方法を知っている人はいますか? 「-c」フラグが問題かどうかはわかりません...残念ながら、GoogleまたはWriting R Extensionsマニュアルで答えを見つけることができませんでした。ありがとう!