[R] mixed normal distriburtion

Giovanni Petris GPetris at uark.edu
Tue Aug 25 21:03:49 CEST 2009


With n = 100 I can see the two modes well separated in a density
plot. 

However, I don't see why you cannot plot the density function, if
that's what you need: 

curve(0.6 * dnorm(x, 0.4, 0.1) + 0.4 * dnorm(x, 0.8, 0.1), 0, 1.2) 

Best,
Giovanni

> Date: Tue, 25 Aug 2009 13:55:26 +0100
> From: Richard.Cotton at hsl.gov.uk
> Sender: r-help-bounces at r-project.org
> Cc: R-help at r-project.org, r-help-bounces at r-project.org
> Precedence: list
> 
> > I'm trying to draw the density function of a mixed normal distribution
> > in the form of:
> > .6*N(.4,.1)+ .4*N(.8,.1)
> > At first I generate a random sample with size 200 by the below code:
> > means = c(.4,.8)
> > sds = sqrt(c(.1,.1))
> > ind = sample(1:2, n, replace=TRUE, prob=c(.6,.4))
> > x=rnorm(n,mean=means[ind],sd=sds[ind])
> > 
> > Then I use the below code for drawing the graph:
> > plot(density(x))
> > 
> > The plot doesn't seem to be belonging to the desired distribution,
> > because there is just one mode in it (I've seen the real graph of this
> > mixed normal in a paper, it has two clear distinct modes). Even the
> > hist() doesn't draw a plot similar to the real graph. I think the
> > generation code isn't correct. Is it? (I've asked the generation code
> > here!)
> 
> The code is fine - the reason you can't see two peaks is that the two 
> distributions overlap a lot.  Set 
> means <- c(.4, 10) 
> to see double peaks more clearly.
> 
> Regards,
> Richie.
> 
> Mathematical Sciences Unit
> HSL
> 
> 
> 
> ------------------------------------------------------------------------
> ATTENTION:
> 
> This message contains privileged and confidential inform...{{dropped:22}}
> 
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
> 
>




More information about the R-help mailing list