reshape2
ggplot2はRでプロットする際に頻繁に用いられる。
しかし、Excelのデータをcsvにしてそのまま読み込んでggplot2に渡したところで、データの形を勝手に判断してくれるわけがない。ggplotはわがままなので、データの整形という処理が必要だ。
いってしまえばデータの整形でデータ可視化のプロセスの8割は終わるようなものだ。
ggplot2に適した形にデータを整形する際、reshape2とかいうとても便利なパッケージがある。 その中でもよく使う関数、meltについて、まとめておく。
melt
文字通り、データを溶かし込むのに使う。
read.csv
とかで読み込んだらこんな形式だろう。
> a id blue red 1 1 1 0 2 1 0 1 3 2 1 0 4 2 0 1
溶かし込む。
> melt(data = a, id.vars = "id", measure.vars = c("blue", "red")) id variable value 1 1 blue 1 2 1 blue 0 3 2 blue 1 4 2 blue 0 5 1 red 0 6 1 red 1 7 2 red 0 8 2 red 1
data
読み込みたいdata.frameを指定
id.vars
data.frame中の維持したい列名を文字列で指定。 何も指定しなければ measure.vars 以外のすべて。
measure.vars
列名を variable に、値を value に分解したい列名を文字列で指定。 何も指定しなければ id.vars 以外のすべて。
variable.name
meltされた列名を格納する新しい列の名前。defaultはvariable。
value.name
meltされた値を格納する新しい列の名前。defaultはvalue。
na.rm
NA を除きたい場合はTrueにする。