Rには豊富な外部パッケージがあり、それらを使うことで
より大きなデータ(「ビッグデータ」ではないが)や新しい手法を扱えるようになる。
パッケージを知っているのと知らないのとで分析作業効率に雲泥の差がある一方で、
パッケージ数は多く、同じような目的のパッケージが複数ある。
日本語で詳細に説明されたものも少ない。
単純な日本語訳は
http://www.trifields.jp/statistical-analysis-r-cran-packages-341
にある(ありがたい!)が、
よく使うもの、この目的・手法ではこれがいいのではないかというものを目的別に分類して厳選してみた。
以下に記載のないものはデフォルトで組み込まれているか、以下のパッケージが自動で使用する(依存関係)パッケージである。
- data.table系 → {data.table}
- sparse matrix系 → {Matrix}, {qlcMatrix}(Matrixに対する便利なメソッド)
- cross validation → {caret}
- 文字列処理 → {stringr}
- 便利な記法、文法
- 巨大な整数値 → {bit64}
- パイプ → {magrittr}
- 便利な機能
- 作図 → {ggplot2}, {Deducer}(R全体のGUIを提供しているが、特にggplot2を使った可視化のGUIが優れている)
- 集計 → {reshape2}
- クラスタリング系 → {proxy}(距離行列の生成)
- fuzzy c-means → {e1071}
- 数理モデル
- GLMの拡張 → {mlogit}(多項ロジット), {survival}(生存時間解析), {glmnet}(L1L2正則化)
- Overdispersion対策 → {MASS}(
glm.nb
), {pscl}(ゼロ切断/ゼロ過剰モデル), {AER}(dispersiontest
) - 混合分布モデル → {mclust}(正規分布), {flexmix}(その他の分布)
- 時系列 → {xts}(扱いやすい時系列データ形式を提供), {forecast}
- 状態空間モデル → {dlm}(正規分布), {KFAS}(その他の分布)
- その他の手法
- 決定木 → {rpart}, {ranger}
- SVM → {kernlab}(
ksvm
) - 協調フィルタリング → {recommenderlab}
- アソシエーションルール → {arules}, {arulesViz}(arulesの可視化)
- 開発 → {Rcpp}, {devtools}
- データインポート
- Webからダウンロード → {curl}
- PostgreSQL → {RPostgreSQL}
- ODBC → {RODBC}
- Google BigQuery → {bigrquery}(ただし大きなデータはcurlがエラーを出して取得できない)
- 分散処理
- {snowfall}
- {pforeach}(並列処理を簡単に実装→CRANにないので
devtools::install_github("hoxo-m/pforeach")
) - {multidplyr}(dplyrを並列処理→CRANにないので
devtools::install_github("hadley/multidplyr")
)
※参考
R以外のツール
- 階層ベイズモデル → 外部ツール(Stan, WinBUGS)
今後追記、厳選して精度を上げていく予定です。