Tokyo.R/112
GGally::ggpairs()
で散布図行列を作成するとき、離散変数が関わる関係を観察しやすくする工夫を共有します。
::: :::
::: :::
3行目など、上下どちらがmale
でどちらがfemale
なのかわからない(正解は以下の通り)。
3行4列目も「上段がfemale
、下段がmale
」かと思いきや…
なんと「上段がmale
、下段がfemale
」になる。
離散変数に関するグラフを作成するとき、上下方向の離散変数の順序を逆転させる関数を作成する。
gg_discrete_adj <- function(data, mapping, ..., fn) {
# 離散変数が上下方向に並ぶか判定する
horizontal <- GGally::is_horizontal(data, mapping)
if (horizontal) {
# ggplot2のmappingからy軸方向の変数名を取り出す
yVal <- GGally::mapping_string(mapping$y)
# 離散変数を取り出す
yData <- data[[yVal]]
# 離散変数の順序を取り出す
data[[yVal]] <- factor(yData, levels = rev(levels(yData)))
}
# 指定したGGally関数で描画する
fn(data, mapping, ...)
}
GGally::ggally_statistic()
を利用すればできそう。