始める無料で始める

C++ ファイル内の R コード

C++ ファイルを sourceCpp()(または RStudio の "Source" ボタン)でコンパイルすると、Rcpp がコードをコンパイルし、エクスポートされた関数を R 関数として利用できるようにします。

また、sourceCpp() は、/*** R*/ の間のコメントを、コンパイル後に一度だけ実行される R コードとして扱います。

/*** R
# ここでエクスポートされた R コードを実行します
*/

これはコードを開発しているときに特に有用です。コードの変更による影響をすばやくテストできるからです。

このコースの残りの部分でも、これらの特別なコメントを使っていきます。

この演習はコースの一部です

Rcpp で R コードを最適化する

コースを見る

演習の手順

  • /*** R で Rcpp の R コメントブロックを開始します。
  • dist 関数を呼び出して、原点から (3,4) までの距離を計算します。
  • */ で Rcpp の R コメントブロックを閉じます。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

#include 
using namespace Rcpp; 

double square(double x) {
  return x * x ;
}

// [[Rcpp::export]]
double dist(double x, double y) {
  return sqrt(square(x) + square(y));
}

// Start the Rcpp R comment block
___
# Call dist() to the point (3, 4)
___
# Close the Rcpp R comment block
___
コードを編集して実行