ggparallel
パッケージは、カテゴリカル変数間で並行座標プロットをggplot2
で描写するパッケージです。ggparallel::ggparallel()
のヘルプドキュメントにあるExampleを実行しています。warningは非表示にしています。
# インストールはCRANから
# install.packages("ggparallel")
library("ggparallel")
data(mtcars)
ggparallel(list("gear", "cyl"), data=mtcars)
ggparallel(list("gear", "cyl"), data=mtcars, method="hammock")
list
に含まれるカテゴリカル変数間の関連が可視化されています。左から右へどのくらい流れているかで、その2つの水準の関連性の強さを図示しています。method="hammock"
で、各水準の中央部分から放たれるようになります。
ggparallel(list("gear", "cyl"), data=mtcars, method="adj.angle")
上のhammockの帯の太さで、通常のパターンのように分かれていくものです。
method='parset'
のパターンggparallel(list("gear", "cyl"), data=mtcars, method='parset')
通常のパターンで、途中で曲がらずにそのまま直線的に放たれるパターンです。
ggparallel(list("gear", "cyl"), data=mtcars, text.angle=0) + coord_flip()
text.angle
でテキストの回転を指定できます。またggplot2
ベースなので、coord_flip()
をこのように追加していくことも可能です。
ggparallel(list("gear", "cyl"), data=mtcars, text.angle=0) + coord_flip() +
scale_fill_brewer(palette="Set1") +
scale_colour_brewer(palette="Set1")
上のパターンで配色を変更しています。これもggplot2
と共通です。
titanic <- as.data.frame(Titanic)
ggparallel(names(titanic)[c(1,4,2,1)], order=0, titanic, weight="Freq") +
scale_fill_brewer(palette="Paired", guide="none") +
scale_colour_brewer(palette="Paired", guide="none")
並行座標プロットは2変数に限らず、このように3つ以上の変数をつなげることも可能です。なおorderは水準の並び替えです。
ggparallel(names(titanic)[c(1,4,2,3)], titanic, weight=1, asp=0.5, method="hammock", ratio=0.2, order=c(0,0)) +
theme( legend.position="none") +
scale_fill_brewer(palette="Paired") +
scale_colour_brewer(palette="Paired")
ratio=0.2
で繋いでいるリボンの幅比率を調整します。method="hammock"
もしくはmethod="adj.angle"
で有効です。またweight=1
とすると、水準間の棒高・リボン幅が均一になります。
ggparallel(names(titanic)[c(1,4,2,3)], titanic, weight="Freq", asp=0.5, method="hammock", order=c(0,0)) +
theme( legend.position="none")
weitht="Freq"
で棒高・リボン幅に対して頻度による重み付けを行います。
デフォルト値や各オプションの詳細などは関数のヘルプを見てください。
Enjoy!