qqplotrのプロットをpurrrで結合してpatchworkで表示するコードです。要は次の図を関数主体で作成するコードです。
コード
library(purrr) library(ggplot2) library(patchwork) library(qqplotr) colnames(iris) #>"Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width" "Species" map(c("Sepal.Length","Sepal.Width","Petal.Length"), function(colname) { g <- ggplot(iris, aes(sample=!!sym(colname))) + theme_classic() + ggtitle(colname) + stat_qq_band() + stat_qq_line() + stat_qq_point(alpha=0.2) return(g) }) %>% reduce(`|`)
コードの説明
qqplotrパッケージとqqplotr::stat_qq_*
関数
ggplot2にQQプロットの機能を追加してくれるパッケージとその関数です。ggplot2だけでもstat_qq
やstat_qq_line
で点と線を描画できますが、qqplotrを追加すると信頼区間も描画できます。
ggplot(data, aes(...=!!sym(変数)))
ggplot
関数に指定するaes
で列名を変数で指定したい場合はaes(...=!!sym(変数))
と指定します。!!sym(変数名)
を使わずにaes(...=変数)
とすると変数は列名と解釈されることに注意します。たとえばaes(...=s)
は変数s
の内容ではなく列s
を指します。
|
Rの演算子は「`」(鋭アクセント)で囲むことで関数として扱えます。たとえば1 + 2
と`+`(1, 2)
は同じです。