Rcpp パッケージ

2013-08-21 :  PCクリニック
本文の前に、
-・・・ -・-
現時点での、blogramのランクインカテゴリは、
2、4、1、0、1、 2、1、1、1、0(38)で、換算ポイント 65pt 。
「C言語」は未だに2位。
今朝は「化学業界」が飛び跳ねた?
「グルコサミン」も変動が激しい!
・-・ - -・

さて、本文。

「singular point」ブログの昨年(12-03-16)の記事:
Rからc++コードを呼び出すRcpp+inlineを試す
を見つけた。

  従来、RをCで拡張するときは「Rの基礎とプログラミング技法(→amazon)」
  にもあるとおり、R.h をインクルードして SEXP (S EXPression) 型と格闘する
  イメージだけど(何度か実践で使ったけど気楽にやろう、
  ってものではなかった)、Rcpp + inline を使うと
  魔法のように簡単に R と c++ を連携させることができるようだ。

  なんとインラインで c++ を書いて、それを直接実行する、
  というすごい実装(inlineパッケージを使った場合。Rcpp は R.h のラッパー)。
  ・・・・・

これは、面白い。


使ってみよう! と云うことで、
RStudio」を立ち上げて見た。
今使っているのは、
R-2.15.1」だが、
「Rcpp」がインストールされている。
そこで、

  install.packages("inline")

としてみたが、・・・
何故か、出来ない???


更に、あちこち探してみたら、
「My Life as a Mock Quant」の、
RStudioでRcpp使えるようになっとった
があった。

  ・・・・・

  私は環境を更新するついでに、Rに関して一旦全部更地にして
  から行った(windows7 64bit)。

  まず R本体・Rtools(C++のコンパイラとかが入っている)
  ・RStudioそれぞれを以下よりインストール

R本体(2.15.2):Download R-3.0.1 for Windows. ・・・
Rtools(Rtools216.exe):Building R for Windows
RStudio(v0.97.237):RStudio

  基本すべて「YESYES!OKOK!」で良かった。

  ・・・


<紙>の環境は、
( 上記(?)の通り )
・R本体(2.15.1)
・RStudio(v0.97.332)
が入っている。

それで、
・RTools を、インストール。
Building R for Windows」から、
勘違いで、「Rtools30.exe」をインストールした。
これでは、Rとのバージョン対応違いで動かなかった。
一旦アンインストールして、
再度「Rtools215.exe」をダウンロード・インストール。


それで、
「My Life as a Mock Quant」さんの、

  基本
    RStudio and Rcpp | RStudio Blog
  を見ればよろしい。

と云うことで、


RStudio and Rcpp | RStudio Blog
を見て、

常用のテキストエディタで、
「gibbs.cpp」ファイル(21行のプログラム)を作り、

「RStudio」を立ち上げて、
(同じ場所で)

  library( Rcpp )
  sourceCpp( "gibbs.cpp" )
  gibbs( 100, 10 )

と打ち込んでみると、

チャント、100行、2列の行列が出来た!


それから、更に漁っていたら(?)
Rcpp 0 からやりなおし - ryamadaのコンピュータ・数学メモ
に、

  ・・・・・
  cppFunction()を使う
  ・・・・・

なる、記述があった。


で、更に更に
Rcpp ・ hadley/devtools Wiki ・ GitHub
では、

  Getting started

に、

  cppFunction allows you to write C++ functions in R like this:

  library( Rcpp )
  cppFunction( '
    int add( int x, int y, int z ){
      int sum = x + y + z;
      return sum;
    } '
  )
  add  # like a regular R function, ・・・
  add( 1, 2, 3 )

なる記述があった。

コレダ!!!
「inline」は。

Rスクリプトファイル1つで済む。
一部関数はCで記述することが出来、高速化される。

頑張って(何を?)、見よう。



見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


130818,19
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク