私は現在、ggplot の多数の回帰モデルからの最初の差異の多数の異なる分布をプロットしています。違いの解釈を容易にするために、各分布の 2.5% と 97.5% のパーセンタイルをマークしたいと思います。かなりの数のプロットを行い、データが 2 つの次元 (モデルとタイプ) でグループ化されるため、ggplot 環境でそれぞれのパーセンタイルを定義してプロットしたいと思います。ファセットを使用して分布をプロットすると、パーセンタイルを除いて、必要な場所に正確に到達できます。もちろん、これをもっと手動で行うこともできますが、理想的には、まだ使用できるソリューションを見つけたいと考えていfacet_grid
ます。
シミュレートされたデータを使用した例を次に示します。
df.example <- data.frame(model = rep(c("a", "b"), length.out = 500),
type = rep(c("t1", "t2", "t2", "t1"),
length.outh = 250), value = rnorm(1000))
ggplot(df.example, aes(x = value)) +
facet_grid(type ~ model) +
geom_density(aes(fill = model, colour = model))
2 つの方法で分位数を追加しようとしました。最初のものはエラーメッセージを生成します:
ggplot(df.example, aes(x = value)) +
facet_grid(. ~ model) +
geom_density(aes(fill = model, colour = model)) +
geom_vline(aes(x = value), xintercept = quantile(value, probs = c(.025, .975)))
Error in quantile(value, probs = c(0.025, 0.975)) : object 'value' not found
2番目のものは、サブ密度ではなく、完全な変数の分位数を取得します。つまり、プロットされた分位点は 4 つの密度すべてで同一です。
ggplot(df.example, aes(x = value)) +
facet_grid(type ~ model) +
geom_density(aes(fill = model, colour = model)) +
geom_vline(xintercept = quantile(df.example$value, probs = c(.025, .975)))
その結果、ggplot2 環境内の各サブグループの特定の分位点をプロットする方法があるかどうか疑問に思いますか?
ご意見をお待ちしております。