2015-04-01から1ヶ月間の記事一覧

Rcppで定義するC++の関数に関数を渡すときはRcpp::FuncでOK

R C++

この辺 Calling R Functions from C++ http://dirk.eddelbuettel.com/papers/rcpp_intro_genentech_2015-01.pdf の例では1引数しか渡さないケースばかりだったので、複数引数の関数を渡せることに気がつかなかった。以下では適当な関数(someFunc)と、Rから…

Rcpp使ってパフォーマンスを測ったらに分類される…?

R C++

こういうどうでもいい関数があったとする。 hoge <- function(x) { result = x + 1; for(i in 1:10000000){ result <- result + 1; } result } この関数の実行速度+パフォーマンスを測るにはRprof関数を使って以下のように書く。 > Rprof(tmp <- tempfile())…

tidyrでダミー変数を作成する(赤ペン先生希望)

R

とりあえず必要なパッケージを読み込んでおく。 library(tidyr) library(dplyr) library(pipeR) 例えば、以下のようなデータを考える。 > df <- data.frame(id=1:10, feature=c(1,NA,2,2,2,NA,NA,3,3,1)) > df id feature 1 1 1 2 2 NA 3 3 2 4 4 2 5 5 2 6 …

ガウシアンを一様乱数でモンテカルロ積分した際の一様乱数の幅依存性

ガウシアンを、一様乱数でモンテカルロ積分した際の結果の、一様乱数の範囲依存性がみたい。こんな感じか。 f <- function(x){exp(-0.5*x^2)} N <- 10^3 L <- c(1:10, 20, 50, 100) y <- numeric(length(L)) for(i in 1:length(L)){ y[i] <- L[i]/N*sum(f(ru…

時系列データに対するブートストラップ法(ブロック・ブートストラップ法)について

あたまだし 検定やクロスバリデーション等への応用を企図した、サンプル数を水増しするための手法としてブートストラップ法がある。これをRで実行するにはsample関数を使って自分でリサンプリングするコードを実装するか、あるいはbootパッケージのboot関数…

MSYS2のbash上にgitのブランチ(branch)名を表示する

最近のWindowsにおけるLinuxコマンド環境として(俺の中で)熱いのが、MSYS2なのですが、そいつのコンソール上で、作業中のgitのブランチ(branch)名を出すためには、MSYS2がデフォルトのインストール先だとすると、.bashrcの中に source /c/msys64/usr/share…