Ludwig Hilger
2013-May-09 15:43 UTC
[R] Finding x-value of intersections of mixture models
Dear list, I am trying to decompose a distribution into 4 normal distributions using the function normalmixEM from package mixtools. This works well, I get four mus and sds. I am now wondering how to get the 3 x values where the distributions intersect. I have tried the following:> summary(gemixed)summary of normalmixEM object: comp 1 comp 2 comp 3 comp 4 lambda 0.0327861 0.206095 0.642772 0.118347 mu 5.4289201 15.885116 33.519228 59.564096 sigma 2.6662273 5.681445 9.337467 10.464027 loglik at estimate: -22760961 f.ints <- function(x, mu1, mu2, sd1, sd2) { f1 <- dnorm(x, mean = mu1, sd = sd1) f2 <- dnorm(x, mean = mu2, sd = sd2) f <- abs(f1 - f2) xs[which.min(f)]} xintersections <- numeric() # for(i in 1:(length(gemixed$mu)-1)){ xs <- seq(from = gemixed$mu[i], to = gemixed$mu[i+1], by = 0.001) xinter <- f.ints(x = xs, mu1 = gemixed$mu[i], mu2 = gemixed$mu[i+1], sd1 gemixed$sigma[i], sd2 = gemixed$sigma[i+1]) xintersections <- rbind(xintersections, xinter)} Unfortunately, the x values I get this way are not near the intersections of the curves as plotted in: plot( # takes an object of class mixEM and returns various graphical output for select mixture models x = gemixed, # An object of class mixEM whichplots = 2, density = TRUE) Maybe I get this all wrong and there is an easy way to get the intersection x-values? Any help would be very much appreciated! Thank you and best regards, Ludwig ##############################> sessionInfo()R version 2.15.2 (2012-10-26) Platform: x86_64-w64-mingw32/x64 (64-bit) locale: [1] LC_COLLATE=German_Germany.1252 LC_CTYPE=German_Germany.1252 LC_MONETARY=German_Germany.1252 LC_NUMERIC=C LC_TIME=German_Germany.1252 attached base packages: [1] grDevices datasets splines graphics stats tcltk utils methods base other attached packages: [1] rgdal_0.8-8 mixtools_0.4.6 segmented_0.2-9.4 MASS_7.3-22 boot_1.3-7 mclust_4.1 RSAGA_0.93-2.1 plyr_1.7.1 shapefiles_0.6 foreign_0.8-52 gstat_1.0-14 spacetime_0.8-0 [13] xts_0.8-8 zoo_1.7-9 sp_1.0-9 svSocket_0.9-53 TinnR_1.0-5 R2HTML_2.2 Hmisc_3.9-3 survival_2.36-14 loaded via a namespace (and not attached): [1] cluster_1.14.3 grid_2.15.2 lattice_0.20-10 svMisc_0.9-65 tools_2.15.2 ----- Dipl. Geogr. Ludwig Hilger Wiss. MA Lehrstuhl f?r Physische Geographie Katholische Universit?t Eichst?tt-Ingolstadt Ostenstra?e 18 85072 Eichst?tt -- View this message in context: http://r.789695.n4.nabble.com/Finding-x-value-of-intersections-of-mixture-models-tp4666683.html Sent from the R help mailing list archive at Nabble.com.