R/tidyverse

同じデータを手にしても,それを表にまとめるときには,ある人は列に並べる値を,別の人は行に並べたりする。ある人が一つの表にまとめるようなデータを,別の人は複数の表に分けてまとめることもある。 というわけで,データ処理のときに案外大変なのが,手にしたデータのフォーマットを解析しやすいフォーマットに変換する前処理だったりする。

Rのtidyverseパッケージ群では,データの標準形式(tidy data, 整然データ)を定めて,入手したデータを標準形式に変換したり,加工したり,表示したりするためのツールを提供している。 これとmagrittrパッケージのパイプ処理を組み合わせると,実にすっきりとデータ処理をスクリプト化できる。例えば,気温データファイルdataに,year, month, day, temperature のデータがあるとき, 月ごとの平均気温を計算するのは以下でできる。

data %>% group_by(year,month) %>%
	summarise(mean(temperature))

もはや,Rというよりも,tidyverseという言語を使うとRの機能も使えるよというほうが良い気がするくらいRのプログラミング方法が変わる。 データサイエンス系のプログラム言語はRよりもPythonが主流になっていくかなと思っていたが,googleで検索してみると,tidyverse があるからと R を使う人も多いみたい。

tidyverseに興味がある人には,R for Data Scenceが入門におすすめ。 日本語訳も出版されているけど,英語版なら無料でオンラインで見れる。 ついでながら,メモ書きページにもtidyverseのメモを時々書いている。