7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Rのデータ分析に便利なパッケージ群 (随時更新予定)

Last updated at Posted at 2018-02-26

Rを使った開発、データ分析の効率化に有用そうなパッケージのメモ。

パッケージの紹介

1. データ加工

tidyverse

データフレームやリストの読み込み、加工、可視化などを扱うインターフェース的なパッケージ。
中に{dplyr}や{purrr}などのパッケージが含まれている。
{tidyverse}を使うと、簡潔かつ再利用性の高いコードを記述できるようになる。

以下の記事に詳しい紹介あり。
俺たちのtidyverseはこれからだ!

simputation

様々な方法の欠損値補完を1行で実装できる。
パイプ処理を前提にしており、{tidyverse}との相性も抜群。
余談だが、欠損値補完にランダムフォレストなどの機械学習モデルを使う方法は最近知った。

以下の記事に詳しい紹介あり。
[【R言語】欠損値補完パッケージ「simputation」が使いやすそう、という話] (http://skroot3.hatenablog.com/entry/2018/02/11/212451)

2. 分析

caret

Rにおける様々な機械学習パッケージを統一的に扱うインターフェース。
細かいことを考えなければ、引数のmethodを"glmnet"とか"nnet"とかやるだけでアルゴリズムを変えられる。
Pythonのscikit-learn的なポジションと言えそう。
似たようなもので{MLR}というパッケージもあるが、そちらは使ったことがないのでよくしらない。

時系列系

(ここに何かしら挙げたいのだが、最近扱っていないので何を載せるべきかわからない……)

3. レポーティング

rmarkdown

Rのデータや図表を貼ったhtmlやPDFを自動で出力できる。
分析結果をまとめる際に、いちいちパワポやエクセルに貼り付ける作業をやりがちだが、なるべくそういう作業は減らしたい。
顧客への報告などの資料の細かい見栄えまでこだわる場面では良いが……
RStudioを使えば簡単に記述・出力できるし、目的変数を変えて大量に分析するといった場合はknitr::render()forreachとかで回せば自動で一気にレポートを作成できる。
{rmdformats}を組み合わせると見栄えもグッと良くなるのでおすすめ。

reporteRs

どうしてもパワーポイントじゃないとダメな場合にはこっち。
Rの32bitにしか対応していないのが難点。
基本的に{rmarkdown}でhtmlを出力するほうが好きなので、あんまり使ってない。

DT

Javascriptを使ったインタラクティブなテーブルをhtmlに表示できる。
300種類の説明変数の係数一覧とか、100点以上のグリッドサーチの結果一覧とかを全部出しても人間には理解不能だが、20件ずつ表示とかにするとぐっと見やすくなる。
{rmarkdown}と組み合わせて使うとよい。

以下の記事に詳しい紹介あり。
DTでインタラクティブな表作り

4. 処理全般

foreach

for文を高速に実行できる。
applyファミリーも高速だが、再利用する時に意外と困る。foreachの方が概ね再利用しやすいコードが書けるだろう。
{doParallel}と組み合わせることで、簡単に並列化できるようになる点もメリット。

以下の記事に詳しい紹介あり (どちらも筆者は同じ)。
for を捨てよ、foreach を書こう
【超訳】foreach パッケージの使い方 #rstatsj


その他、随時追記予定。

7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?