2015-01-13から1日間の記事一覧

Armadillo

ArmadilloはC++の線形代数ライブラリなのだけれど、Rで使うときにはRcppArmadilloパッケージを介して使う手がある(C++のArmadilloをC++を書くときに使ってもよいのだろうけれど、それより「R Armadillo連携に特化しているということだろう Rcpp自体の代りにR…

STL

STLとは 色々あるけれど、いくつかの大事な塊がある (1)Iterator (繰り返し処理のための仕組み) (2)アルゴリズム (3)データ構造 (1) Iterator 地道にベクトルの要素アドレスを指定して回すこともできるが… double sumC(NumericVector x) { int n = x.size();…

Rcpp sugar

Rcpp sugar これは、C++なんだけど、Rと同じように書けるようにしてある関数についてのこと たとえば、Rではベクトル化計算ができるし、そうするのが速いのだが、C++ではループを回すのが普通。ただし、ベクトル化演算が基本演算でできるようにC++でsugar登…

Rcpp、一歩前へ

Rcppの基礎は前掲記事で終わり。ただループ処理を速くしたいだけなら、それだけでもたぶんOK C++でR的に書きたい→sugar 、データ構造やアルゴリズムで便利なライブラリを使いたい→STL (その先にboost)、RcppArmadilloなどがある C++、コンパイラに負荷がか…

Rcppおさらい

Rcppを使ってみた(こちら) おおまかに分かったので、じゃあ、Rcpp/Cppの強みについておさらいしておこう 一番の基本(この記事) 少し先(sugar,STL,Armadillo) こちらを読む Rcppをいつ使う? Rのコードでできるだけのことをしても「遅い」とき それはいつ? …