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のメモを時々書いている。