問題タブ [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 - cxxfunctionの複数のプラグイン
RcppGSLとRcppArmadilloを同時に使用したいのですが、(インラインCRANパッケージの)cxxfunctionで複数のプラグインを使用することは可能ですか?私はする方法を見つけました:
しかし、それはそれほど直感的ではないようです。
r - Rでの予測
R を使用して予測を実行しようとしていますが、予測パッケージをダウンロードするたびに、rcpp パッケージが正しくインストールされていないというエラーが表示されます。その結果、予測を実行できません。何が悪いのか、何をする必要があるのか教えてください。
r - Rcppでscan()よりも高速ですか?
テキストファイルからRに〜5x10 ^ 6の数値を読み取るのは、私のマシンでは比較的遅くなります(数秒、そのようなファイルをいくつか読み取ります)scan(..., what="numeric", nmax=5000)
。この種のタスクのラッパーを試す価値はありますかRcpp
(たとえばArmadillo
、テキストファイルを読み取るためのユーティリティがいくつかあります)?または、予想されるインターフェイスオーバーヘッドのために、パフォーマンスがほとんどまたはまったく向上しないために時間を無駄にしている可能性がありますか?現在、速度を制限しているのは何か(固有のマシンパフォーマンスなど)はわかりません。これは、通常、1日に何度も繰り返すタスクであり、ファイル形式は常に同じで、1000列、約5000行です。
必要に応じて、試してみるサンプルファイルを次に示します。
更新:Armadilloを試しread.csv.sql
てみましたが、どちらもソリューションよりも低速でした。load("test.txt", arma::raw_ascii)
scan
c++ - Rcpp:CharacterVectorサイズ
私はRcppパッケージでいくつかのテストを行ってきましたが、それはうまく機能します。
CharacterVectorをRからC++に渡すときに少し問題があります。
上記のコードに基づいて「Rcpp::CharacterVectorcx」のサイズを取得することは可能ですか?
のようなもの:cx.size()またはlength(cx)?
よろしく、
アンディ
c++ - Rcpp を使用してループを R から C++ に変換する
Rcpp を使用して一部の R コードの速度を改善したいと考えています。ただし、C++ に関する私の知識はほとんどありません。そこで、Rcpp で提供されているドキュメントと、Dirk Eddelbuttel のサイトで提供されているその他のドキュメントを確認しました。すべてを読んだ後、R で書いた単純なループを実行しようとしましたが、残念ながら実行できませんでした。R関数は次のとおりです。
Rcppの学習の出発点として役立つので、誰かが私を助けてくれれば本当に感謝しています.
c++ - Rcpp を使用した行行列マイナス ベクトル
私は主にRユーザーですが、コーディング(速度)を向上させるためにRcppを学びたいと思っています。だから私はC++とRcppをいじり始めました。行列の行 (つまり、最初の行) を取り、そこからベクトルを差し引く (m[1,]-vec )。
私はこれがばかげて単純に聞こえることを知っていますが、それを機能させることができません。
code <- '
arma::mat beta = Rcpp::as(beta_);
arma::vec y = Rcpp::as(y_);
arma::rowvec S= beta.row(0);
arma::vec d = S - y;
return Rcpp::wrap(d);
'
fun <- cxxfunction(signature(beta_="matrix",y_="numeric"),code, plugin="RcppArmadillo")
m <- matrix(1:9,3)
vec <- c(1,2,5 )
fun(m,vec) fun(m, vec)
のエラー:R では、これは
m[1,]-vec
0 2 2として行われます
r - 行列rowMeans操作を高速化
次の行列を考えてみましょう。
rowMeans
この行列でランダムに取得された同じサイズの2つのグループの違いを取得したいと思います。
かなり遅いですが、残念ながらRprofの出力がわかりませんでした(ほとんどの時間が費やされたようですis.data.frame
??)
より効率的なものの提案?
私は次のことを考えました:
Rcpp
:私のオンライン測定値から、RのrowMeansは非常に効率的であると信じているので、このステップで役立つかどうかは明らかではありません。ボトルネックが実際にどこにあるのかを確信したいのですが、おそらく私のデザイン全体が最適ではありません。小さい行列ごとにコピーを作成するのにほとんどの時間が費やされている場合、Rcppのパフォーマンスは向上しますか?R-develにアップデートすると、
.rowMeans
さらに効率的な新機能があるようです。誰かがそれを試しましたか?
ありがとう。
r - RcppArmadillo を使用したパッケージの作成
RcppArmadillo とインライン パッケージを使用して関数を作成しました。Windows 7 を使用しており、R-2.14.1 と Rtools215 がインストールされており、パスがチェックされています。
問題を解決する方法に関するアドバイス。
r - RcppSimpleTensor:tensorFunctionを使用して多変量オブジェクトを計算することはできません
パッケージRcppSimpleTensor(https://github.com/tlamadon/RcppSimpleTensor)のtensorFunctionを使用して、次のような3次元関数を計算します。
x、y、zの値の3つのベクトルを作成します。
tensorFunctionを定義します。
ただし、この関数を実行すると、「tmpfun(X、Y、Z、k、j、i)のエラー:単一の値が必要です」というエラーが発生します。
私はここで何が間違っているのですか?