問題タブ [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 に答える
3227 参照

xcode - インラインおよび Xcode 4.2.1 でのエラー

Macbook でインラインパッケージを動作させようとしています。次のコード ブロック (cxxfunction の例から) は失敗します。

このエラーで:

g++ が利用可能であるため、これは奇妙です。

Mac OS 10.7.2 で Xcode 4.2.1、R 2.14.0 を実行しています。

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

r - SHLIB を使用してスタンドアロン Rcpp 関数をコンパイルおよびロードする

次の関数をSHLIB(として保存foo.cpp)でコンパイルしようとしています:

私は試します

このファイルをインクルードするにはどうすればよいですか? これは Rcpp でスタンドアロン関数をコンパイルする正しい方法ですか? もちろん、Rcpp を でインストールしましinstall.packages('Rcpp')た。

更新: RI get で Rcpp.h の場所を見つけようとしています:

でも、

更新 2:

http://www.mail-archive.com/r-help@r-project.org/msg79185.htmlを見て、試してみました

と を生成foo.ofoo.soました。これをRにインポートするにはどうすればよいですか?

更新 3:dyn.loadしたがって、次のよう にロードできます。

次のように正常に呼び出すことができます

関数自体は表示されませんが。

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

c++ - Rcpp::CharacterVector を std::string に変換します

Rcpp関数内でファイルを開こうとしているので、ファイル名を char* または std::string にする必要があります。

これまでのところ、次のことを試しました。

しかし、コンパイル時にエラーが発生するasため、明らかに機能しません。Rcpp::CharacterVector

引数から文字列を取得する簡単な方法や、Rcpp 関数の引数からファイルを開く簡単な方法はありますか?

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

c++ - Rcpp で連続していない部分行列を選択する

連続していないスライスを含むRcppのサブマトリックスを選択しようとしています。同等のRコードは

Rcppでは、やろうとしています

ただし、これにより

これはRcppで可能ですか?

0 投票する
4 に答える
2129 参照

r - 固定位置の部分文字列を同等またはそれ以上の長さの文字列に効率的に置き換える

固定位置の部分文字列を同じかそれ以上の長さの別の文字列に置き換える効率的な方法は何でしょうか?

たとえば、次の例では、最初に「abc」の位置を見つけてから置換することで、部分文字列「abc」を置換します。

ただし、部分文字列「abc」は常に文字位置 2、3、および 4 にあることがわかっています。この場合、文字列の一致を実行する必要がなく、文字インデックスが使用されるように、これらの位置を指定する方法はありますか?代わりは?

substr() を使用しようとしましたが、置換文字列が置換される部分文字列よりも大きい場合、期待どおりに機能しませんでした。

お時間を割いていただき、誠にありがとうございました。

トニー・ブレイアル

PS上記は私がやりたいことを行う最も効率的な方法かもしれませんが、より良い方法がある場合に備えて尋ねると思いました:)

===== タイミング =====

上記のタイミングは、以下のコードから生成されました。

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

c++ - OSX 10.6 で stringstream が Rcpp で動作しない

std::stringstream は Rcpp では動作しないようです。問題を切り分けるために、最小限のプログラムを作成しました。

tsmall文字列を float に変換するだけです。はRf_PrintValueデバッグ用です。OSX 10.16.7 の R では、

別のマシン (Ubuntu) では、期待どおりに動作します。

OSX で小さな通常の C++ プログラムを試してみましたが、もちろん stringstream を使用して文字列と浮動小数点数を変換しても問題なく動作します。

OSX で使用されるコンパイラは MacPorts g++-mp-4.4 です。

更新: _GLIBCXX_DEBUG が有効な場合、stringstream と Stringstream の OSX が double で動作しないという以前に提起された問題を発見しました。ただし、/usr/bin/g++-4.2 でデフォルトの gcc-4.2 を使用してその問題でテスト プログラムをコンパイルすると、エラーが発生しますが、/opt/local/bin/g++-mp-4.4 でコンパイルすると正常に動作します。

ただし、Rcpp コードを次のようにコンパイルしました。

gcc-4.4を使用した:

したがって、これが同じ問題かどうかはわかりません。

更新 2: https://discussions.apple.com/thread/2166586?threadID=2166586&tstart=0で の議論に従って、コードの先頭に以下を追加しました。

また、@Kerrekの提案に従って初期化ffloat f=0;れます(ただし、これは何も変更しないはずです)。stof

Mac での出力は同じです。

0 投票する
4 に答える
10050 参照

c++ - Rcpp でデータ フレームを構築する

Rcpp関数でデータ フレームを作成したいのですが、実際にデータ フレームのように見えません。ベクトルなどを押してみましたが、同じことになります。検討:

Rで:

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

r - Rパッケージを開発するためのRCMDINSTALLでのCXXFLAGSの変更

開発中のパッケージをデバッグしようとしています。パッケージのビルド、チェック、インストールにはmakefileを使用しています。パッケージはRcppパッケージであるため、すでにmakevarsファイルとmakevars.winファイルが含まれています。私が探しているのは、特定のmakeルールのためだけにCXXFLAGSを変更することでした。その後、でmake debug実行さR CMD INSTALLれますCXXFLAGS= -Wall -pedantic -g -O0"が、通常はデバッグ情報なしmake installで実行されます。CXXFLAGS=-O3パッケージ、個人、またはシステムのmakevarsファイルを変更せずに、これを動的に変更する良い方法はありますか?

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

c++ - Rcppでsize_tのラップを返します

私はRcppを初めて使用するので、まだ盲目的に自分の道を見つけています。問題の長所と短所は、ポインターを生成するオブジェクトがあり、そのポインターをRに返したいということです。

ポインタをにキャストすると必要な精度が維持されることがわかりましたが、。size_tでそれを返すことはできないようですwrap

以下のコードでは、willを返すだけでunsigned long intコンパイルされ、他のコードはエラーをスローします。スペースの都合上、ここには含めません。そして私のオブジェクトでは、にキャストすると、unsigned long int精度が失われたためにコンパイラが失敗します(これはすべてコメントアウトされている最初のブロックにあります)。

このタイプのオブジェクトのテンプレートをsize_t作成するという選択肢を避けるために、私のニーズにはsを使用するだけで十分です。wrap

変更ログを確認しましたが、size_tがサポートされているようです。概要では、のwrapサポートも提案されていsize_tます。