library(ggplot2)ggplot2でgeom_functionを使って関数の曲線を描画するとき、複数の母数の組み合わせをlapplyで組み込む方法です。
例
ggplot2を使用します。
設定
正規分布の母数(平均\(\mu\)と標準偏差\(\sigma\))の組み合わせを以下のように3種類設定します。
- \(\mu = 0, \sigma = 1\)
- \(\mu = -1, \sigma = 0.5\)
- \(\mu = 2, \sigma = 2\)
df <- data.frame(mu = c(0, -1, 1), sigma = c(1, 0.5, 2))描画
描画します。lapply関数でgeom_functionのレイヤーのリストを返しています。aes関数のcolour引数で凡例に示す文字列を設定しています。
ggplot(data.frame(x = c(-5, 5)), aes(x = x)) +
lapply(1:nrow(df), function(i) {
geom_function(
fun = dnorm,
aes(colour = paste0("μ=", df$mu[i], ", σ=", df$sigma[i])),
args = list(mean = df$mu[i], sd = df$sigma[i])
)
}) +
labs(x = "x", y = "Probability density", colour = "Parameters") +
theme_bw() +
theme(legend.position = c(0.95, 0.95),
legend.justification = c(1, 1))