Rcpp sugar

  • Rcpp sugar
    • これは、C++なんだけど、Rと同じように書けるようにしてある関数についてのこと
    • たとえば、Rではベクトル化計算ができるし、そうするのが速いのだが、C++ではループを回すのが普通。ただし、ベクトル化演算が基本演算でできるようにC++でsugar登録されているので、ループを回さずにまるでRであるかのように書くことができるということなどが相当する
    • その主なもの
+ *, -, /, pow, <, <=, >, >=, ==, !=, !.
Math functions: abs(), acos(), asin(), atan(), beta(), ceil(), ceiling(), choose(), cos(), cosh(), digamma(), exp(), expm1(), factorial(), floor(), gamma(), lbeta(), lchoose(), lfactorial(), lgamma(), log(), log10(), log1p(), pentagamma(), psigamma(), round(), signif(), sin(), sinh(), sqrt(), tan(), tanh(), tetragamma(), trigamma(), trunc().
Scalar summaries: mean(), min(), max(), sum(), sd(), and (for vectors) var().
Vector summaries: cumsum(), diff(), pmin(), and pmax().
Finding values: match(), self_match(), which_max(), which_min().
Dealing with duplicates: duplicated(), unique().
d/q/p/r for all standard distributions.