問題タブ [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.

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

r - R2.15.0へのRcppパッケージのインストール

Rに「Rcpp」パッケージをインストールする際に問題が発生しました。installコマンドはすべてのパッケージで機能しましたが、このパッケージでは機能しませんでした。Rエラーは次のとおりです。

パッケージ「Rcpp」は使用できません(Rバージョン2.15.0の場合)

WindowsVistaを使用しています。助けてください。

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

r - Rcpp の参照渡しと値渡し

経由で Rcpp 関数を最初に突き刺したところinline、速度の問題が解決されました (Dirk に感謝します!): 負の値をゼロに置き換えます

初期バージョンは次のように見えました。

しかし、呼び出されると、出力がcpp_if(p)上書きされ、意図したとおりではありませんでした。pしたがって、参照渡しであると想定しました。

そのため、次のバージョンで修正しました。

これはうまくいったようです。しかし、元のバージョンを R に再ロードしても、元のバージョンは入力を上書きしなくなりました (つまり、まったく同じコードが入力を上書きしなくなりました)。

この動作を再現しようとして一貫性のない結果が得られたのは私だけではありません。

https://chat.stackoverflow.com/transcript/message/4357344#4357344

何が起きてる?

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

r - インラインでのC++の使用から独自のRパッケージの作成に移行するにはどうすればよいですか?

ここで起こっていることは2つあります。(1)Rcppとその仲間を使って、Rコードを高速化する方法を学んでいるところです。(2)これまでRパッケージを作成したことがありません。

私はinlineダウンを使用しています。素晴らしいパッケージ。大好きです。ただし、で開発したコードを使用してRパッケージを作成することはできないようinlineですpackage.skeleton

最小限の例を次に示します。

ステップ1:Rスクリプトを作成する

ステップ2:Rパッケージとしてビルドする

新しいRセッションの実行:

次にman/*.Rd、Rは「正常に機能する」デフォルトを設定しないため、ファイルを削除します。

そして実行します:

ドキュメントの欠落について不満を言う人を除いて、すべて正常に完了します。

ステップ3:試してみる

そして、新しいRセッションで試してみてください。

失敗します。私の訓練されていない目には、次のように思われます。

  1. コンパイルされたコードはinline、*。package.skeletonによってディレクトリスケルトンの「右」部分にコピーされて、後でRビルドプロセスによってコンパイルされることはありません。
  2. 'code_files'引数が失敗しても、パッケージのロード時にRがこれらの*.Rファイルをソースすることはありません。

これについてさらに考えると、(2)は、ユーザーがパッケージをロードするたびにコードをコンパイルする必要があるため、非常に悪い考えのように思われます。それは、バイナリのみのパッケージを必要とするすべてのユーザーを除外し、単に本当に非効率的です。

(1)技術的には可能のようですが、Rcppメーリングリストで説明されているように、一連の自動マジックコンバーター機能を実装する価値はありません。

だから、質問:

誰かが提供されたサンプルコードを取得してそれをRパッケージに変換する正しい方法のウォークスルーを教えてもらえますか?

既存のドキュメントを理解するには、少し新しすぎます。FWIW、将来的には役立つと思います!

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

r - R: R を Eurequa に接続、Rcpp コンパイル エラー

R 内から Eurequa を実行しようとしています。 http://code.google.com/p/eureqa-api/ 以下のコードを使用していますが、コンパイル エラーが発生します。

あなたの助けに感謝します。

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

linux - Rcppのコード内に「ライブラリ(RgoogleMaps)」を配置するには?

上記のコードを配置
library(RgoogleMaps)
して内部に配置する方法は?
png (filename="Rg.png", width=480, height=480)

私はそれを次のように実行します:R CMD SHLIB rtest.cpp

Rcppのバージョンは0.9.13

私は試した:
R CMD SHLIB -lRgoogleMaps rtest.cpp

その結果:

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

linux - Linux で g++ を使用して RInside プログラムをコンパイルする

RPM (Yast を使用) を介して R をインストールしました。


rinsidetest.cppコンパイルしたいファイル ( ) には次のものが含まれています。


コンパイル方法は次のとおりです。


R 情報:

RInsideバージョン:0.2.6
Rcppバージョン:0.9.13

この問題の回避策はありますか? それとも、rpm インストールを削除して、ソースからコンパイルしてすべてを開始する必要がありますか?

編集


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

rcpp - Rcpp モジュール c++ オブジェクト ファイナライザー

オブジェクトファイナライザーを指定すると、この Rcpp モジュールが公開された c++ クラスをコンパイルしないのはなぜですか? 動作するバージョンを提供できますか?

Rcpp モジュールのチュートリアルから: class_ の .finalizer メンバー関数を使用して、ファイナライザーを登録できます。ファイナライザは、ターゲット クラスへのポインタを取り、void を返す自由な関数です。ファイナライザはデストラクタの前に呼び出されるため、ターゲット クラスの有効なオブジェクトで動作します。操作の実行、リソースの解放などに使用できます... C++ オブジェクトをカプセル化する R オブジェクトがガベージ コレクションされると、ファイナライザーが自動的に呼び出されます。

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

r - Rcpp条件付きのNA値

Rcppの条件に問題があります。私の問題を説明する最良の方法は、例を通してです。

私の理解でNA_REALは、はRcppの実数NA_IntegerのNA値を表し、整数のNA値を表します。上記の条件が与えられた場合にtrueを返さない理由がわかりませんz

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

r - Windows固有のインクルードでRcppを使用する

Rcppを使用して、WindowsのOSレベルのものにアクセスするC++コードを作成しようとしています。windows.hまたはを含めるとすぐにshlobj.h、大量のコンパイルエラーが発生します。このコードを実行すると機能するので、基本のいくつかが正しく理解されていることがわかります。しかし、Windows関連の#include行のコメントを外すと、機能しません。

注:これをRStudioで実行すると、コンソールからの出力がcout表示printfされますが、Windows RGuiから実行すると、出力が表示されません。これは、RGuiがテキスト出力を処理する方法と関係があると思います。

これらのインクルード行のコメントを外すと、次のようなエラーが発生します。

... 等々

これを機能させるためのヒントはありますか?


更新:エラーの一部を取り除くことができましたが、一部は残っています。

また、 http://tolstoy.newcastle.edu.au/R/e2/devel/06/11/1242.htmlReallocからのアドバイスに従って、エラーを確認しました。

を次のincように置き換える必要があります。

-fpermissiveこの質問のように、コンパイラに渡すことで他のエラーも取り除きました: Rcppとインラインを使用してg ++コンパイラフラグを設定するにはどうすればよいですか?

しかし、まだいくつかのエラーがあります: