元のデータから取得した 100 万レコードのサンプルがあります。(参考までに、ほぼ同様の分布を生成する可能性があるこのダミー データを使用することができます。
b <- data.frame(matrix(rnorm(2000000, mean=c(8,17), sd=2)))
c <- b[sample(nrow(b), 1000000), ]
) 私はヒストグラムが 2 つの対数正規分布の混合であると信じており、次のコードを使用して EM アルゴリズムを使用して合計分布を適合させようとしました。
install.packages("mixtools")
lib(mixtools)
#line below returns EM output of type mixEM[] for mixture of normal distributions
c1 <- normalmixEM(c, lambda=NULL, mu=NULL, sigma=NULL)
plot(c1, density=TRUE)
最初のプロットは対数尤度プロットで、2 番目のプロット (もう一度 Return キーを押した場合) は、次の密度曲線のようになります。
前述したように、c1 は mixEM[] 型であり、plot() 関数はそれに対応できます。密度曲線を色で塗りつぶしたい。これは ggplot2() を使用して簡単に実行できますが、ggplot2() は mixEM[] 型のデータをサポートしておらず、次のメッセージがスローされます。
ggplot は、クラス mixEM のデータを処理する方法を知りません
この問題に対して私が取ることができる他のアプローチはありますか?