タグ

ブックマーク / teramonagi.hatenablog.com (4)

  • dplyrで時系列データの処理 - My Life as a Mock Quant

    dplyrを拡張してデータフレームっぽい俺俺クラスを動かす - My Life as a Mock Quant で書いた、”dplyrでの時系列処理ってどうするんじゃい”というのの簡単な例。 下で示したようなやり方で大半は片付くのではないだろうか(たぶん)。 まず、ライブラリ&サンプルデータの作成。 lubridateパッケージが大事で、こいつで日付を操作しつつdata.frameのままdplyrで裁いてデータ処理をしていくという方針である。 library(xts) library(lubridate) library(dplyr) # 適当なxtsデータ x <- as.data.frame(sample_matrix) x$index <- as.Date(rownames(sample_matrix)) > head(x) Open High Low Close index 200

    dplyrで時系列データの処理 - My Life as a Mock Quant
  • 新型のランダムフォレスト(Random Forest)パッケージ比較:Rborist・ranger・randomForest - My Life as a Mock Quant

    最近、ランダムフォレスト系のパッケージの高速実装が複数 CRAN - Package Rborist CRAN - Package ranger 出てきたので、それ調べておきたい。 各々install.packagesを使えば入るので入れておくこと。また旧型(randomForest)も比較対象にしておく。 まず、速度比較。Rboristだけが"ランダムフォレストの各木において、ノードの分割する際に何個特徴量使うか"のmtry引数がなく、それに近いpredProbオプションを適当に調整して設定している点に注意。これでいいのかあまり自信ない。データはirisだ。 library("Rborist") library("ranger") library("randomForest") library("microbenchmark") microbenchmark( ranger = rang

    新型のランダムフォレスト(Random Forest)パッケージ比較:Rborist・ranger・randomForest - My Life as a Mock Quant
  • クロス集計〜公式:dplyr + tidyr = (xtabs|(f)table) - My Life as a Mock Quant

    特にやりたくはないんだけど、クロス集計をしなければならない状況がある。そんなときExcelを使ってもいいんだろうけど、レポーティングまで含めてRでやってしまいたい、あると思います。そんな時どうするかって話。 Rには既に xtabs関数 (f)table関数 というクロス集計してくれる関数があるんだけど、こいつらの使い方覚えるのめんどくさい(毎度ググってる)し、特に他のデータハンドリング系関数との相性もよくはないので、全てdplyr&tidyrパッケージで済ませたい。 なので、以下、xtabs&table関数の結果と同じになるように、dplyr&tidyrで書いてみる。 使用するパッケージ 当然、dplyr&tidyrは使う。 library(dplyr) library(tidyr) dplyr, tidyrの使い方については plyr: データ分割-関数適用-再結合を効率的に - Hea

    クロス集計〜公式:dplyr + tidyr = (xtabs|(f)table) - My Life as a Mock Quant
  • xtsライブラリを使ってみる−1 - My Life as a Mock Quant

    (その2はコチラ) 先日、R勉強会に参加させていただいたときに 「時系列のデータ構造を扱う際にはxtsパッケージが便利なのではないか?」 というアドバイスをいただいたので使ってみる。 まずはマニュアルのほぼ写経コード library(xts) data(sample_matrix) #その名の通り行列形式でデータが入っている head(sample_matrix) #xtsオブジェクトへ! sample.xts <- as.xts(sample_matrix, descr='テストデータです') #zooパッケージのクラスとxtsクラスの属性を持っているようだ class(sample.xts) str(sample.xts) #headを使うとdescrの属性の値は見えないので、無理やりだしてみる。 head(sample.xts) attr(sample.xts,'descr') #い

    xtsライブラリを使ってみる−1 - My Life as a Mock Quant
  • 1