私はガウス混合分布を近似しており、全体(一次元)データセットの推定カーネル密度をコンポーネントの合計として簡単にプロットできるかどうか疑問に思っていましたこの使用ggplot2のような素敵なファッションでの密度:ggplot2を使ったRのプロットガウス混合物
#example data
a<-rnorm(1000,0,1) #component 1
b<-rnorm(1000,5,2) #component 2
d<-c(a,b) #overall data
df<-data.frame(d,id=rep(c(1,2),each=1000)) #add group id
##ggplot2
require(ggplot2)
ggplot(df) +
geom_density(aes(x=d,y=..scaled..)) +
geom_density(data=subset(df,id==1), aes(x=d), lty=2) +
geom_density(data=subset(df,id==2), aes(x=d), lty=4)
次の例のデータを考えると
、ggplot2の私のアプローチは、手動でこのようなスケール全体の密度にサブセットの密度をプロットすることであろう
これはスケールに関してはうまくいかないことに注意してください。また、3つの濃度をすべてスケールするか、まったく濃度を調整しないと、機能しません。だから私はプロットの上に複製することができませんでした。
さらに、私はこのプロットを手動でサブセット化しなくても自動的に生成することはできません。 geom_densityでposition = "stacked"をパラメータとして使用しようとしました。
通常、データセットあたり約5-6のコンポーネントがあるため、手動でサブセット化することは可能です。しかし、ggplotの凡例に表示されるコンポーネントの密度ごとに異なる色やラインタイプを使用したいので、すべてのサブセットを手動で行うと作業負荷がかなり増加します。
アイデア? ありがとう!