いろいろ倉庫

KNIME、EXCEL、R、Pythonなどの備忘録

【R】Tidyverseに関するメモ

・お題:Pythonもそうだけれど、Rでは便利機能を備えたソフトウェアをインストールすることで、機能を拡張することができる。少し調べてみたところ、データサイエンスやりたいならとりあえずTidyverseというパッケージ集をインストールしておくと便利らしい。

 

・Tidyverseはパッケージ集であり、正しいことは以下の公式サイトを確認していただきたい。

www.tidyverse.org

・以下がイメージ図。それぞれ、どんなパッケージなのか見てみる。正しいことはそれぞれのリンク先をご確認いただきたい。チートシートも載っているので、とても助かる。。

・ggplot2:いろいろなグラフを描くことができるライブラリ。とても綺麗なグラフが描ける。

ggplot2.tidyverse.org

 

・dplyr:データの表を弄るのにとても便利。あと、pipes(%>%)と呼ばれる表記方法がとても便利。

dplyr.tidyverse.org

 

・tidyr:雑然としたデータをtidy dataにしたり、前処理をしたりするパッケージ。tidy dataは解析系のパッケージでデータをハンドリングする際の基本になるデータのまとめ方だけれど、何せ人間にはぱっと見で分かりにくく、そこを解決してくれるのはとてもありがたい。

tidyr.tidyverse.org

 

・readr:データファイルを読み込むパッケージ。普通じゃない区切りのデータを読み込むのに大事っぽい?

readr.tidyverse.org

 

・purrr:ベクトルを使ってデータ処理する機能を強化してくれるパッケージ。map関数とかがイメージしやすいかも。

purrr.tidyverse.org

 

・tibble:data.frameのモダン版を提供するパッケージらしい。。?

tibble.tidyverse.org

 

・stringr:文字列操作や正規表現の機能を拡張するパッケージ。

stringr.tidyverse.org

 

・forcats:ファクターを使ってレベルや値の順序の変更など、因子に関する面倒なところを解決してくれるっぽい。理解が追い付いていない。。forcats.tidyverse.org

 

・前置きが長くなったけれど、tidyverseを使ってみる。とりあえずインストール。

> install.packages("tidyverse")

 

・tidyverseを起動。すると、何か出てきた。

> library(tidyverse)

-- Attaching packages ----------------- tidyverse 1.3.2 --
v ggplot2 3.3.6      v purrr   0.3.4 
v tibble  3.1.8      v dplyr   1.0.10
v tidyr   1.2.0      v stringr 1.4.1 
v readr   2.1.2      v forcats 0.5.2 
-- Conflicts -------------------- tidyverse_conflicts() --
x dplyr::filter() masks stats::filter()
x dplyr::lag()    masks stats::lag()

 

・素人を狼狽させないでくれ、、と思いつつ、Conflictsって何か調べてみた。どうも、dplyrとstatsにfilterという関数が含まれており、名前が被っているらしい。dplyrがstatsに勝ったようで、この後に単にfilter関数を使うと、dplyrのfilter関数が出てくることになる。

 

・この謎のコロン2つは、パッケージを指定して関数を呼び出すときに使うらしい。dplyr::filter()で「dplyrというパッケージのfilterという関数」、stats::filter()で「statsというパッケージのfilterという関数」を表すみたい。「statsというパッケージのfilterという関数」を使う予定もないので、とりあえず無視しておく。

 

・tidyverseしか起動していないが、これで先のパッケージ群が起動したことになっている。デフォルトでRではパッケージが起動していれば関数を指定するだけで処理を実行できる(Pythonでもimportのやり方によっては関数名だけで処理できる)。

 

・Rを起動すると呪文のようにtidyverseを起動するようになりそう。R起動時に自動でLibraryを読み込ませるには、以下のサイトを参考に設定すれば良いかも。

stats.biopapyrus.jp

 

 

おわり。