ggplot2で複数の因子によるグループで折れ線プロット
各因子を結合した列を追加すればいいっちゃいいのだが、ggplot2上で指定する方法もあったよなと思いながら思い出せなかった+ググりづらかったのでこれも備忘。
interaction()を使う。
library(ggplot2) library(dplyr) # ChickWeightデータで初回の体重が43以上か否かのフラグを立てる summarised_weight <- ChickWeight %>% group_by(Chick) %>% mutate(flag = weight[Time==0]>=43) %>% ungroup %>% group_by(Time, Diet, flag) %>% summarise(w_mean = mean(weight)) # Dietとflagを組みわせた折れ線プロットを描く ggplot(summarised_weight, aes(Time, w_mean, color = interaction(Diet, flag, sep = "_"))) + geom_line()
でもこれ別にpaste()でも問題ないな。