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()を利用すればできそう。