[R] Finding x-value of intersections of mixture models

Ludwig Hilger l.hilger at ku.de
Thu May 9 17:43:58 CEST 2013

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)
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,


> sessionInfo()
R version 2.15.2 (2012-10-26)
Platform: x86_64-w64-mingw32/x64 (64-bit)

[1] LC_COLLATE=German_Germany.1252  LC_CTYPE=German_Germany.1252   
LC_MONETARY=German_Germany.1252 LC_NUMERIC=C                   

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  

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.

More information about the R-help mailing list