Rcpp 0 からやりなおし

  • こちらのようにRtoolsの導入で躓いたのだが、まあ事なきをえたということでRtoolsが使えるので、こちらのRcpp解説記事をなぞってみます
  • cppFunction()を使う
library(Rcpp)
cppFunction('
  int add(int x, int y, int z) {
    int sum = x + y + z;
    return sum;
  }'
)
add # like a regular R function, printing displays info about the function
add(1, 2, 3)
    • sourceCpp()での扱いで同じことをする
    • "Rcpp.h"ファイルを作っておく(これがよくわからない…作らなくてもよい??…作っても関係ない??)
int add(int, int, int);
    • ソースファイル"add.cpp"
#include <Rcpp.h>

// [[Rcpp::export]]

int add(int x, int y, int z) {
    int sum = x + y + z;
    return sum;
  }
    • Rで実行
library(Rcpp)
sourceCpp("add.cpp")
add
add(1,2,3)