Are you trying to look at the difference in the gamma distributions due to 
variations in the shape and scale parameters? In this case, the following 
approach might be more straightforward:


## assign parameter values
params <- list(curve1=c(1,1),curve2=c(1,2),curve3=c(1,3))

## define function
gammafun <- function(shape,scale) {
  p <- seq(0.001,0.999,length=1000)
  x <- qgamma(p,shape,scale)
  y <- dgamma(x,shape,scale)
  list(x=x,y=y)
}

## apply function to parameters
dat <- lapply(params,function(p) gammafun(p[1],p[2]))

## plot lines
xlim <- range(sapply(dat,`[[`,"x"))
ylim <- range(sapply(dat,`[[`,"y"))
plot.new()
plot.window(xlim,ylim)
for( i in 1:3 ) lines(dat[[i]],col=i)
lapply(1:2,axis)
box()
legend("topright",lty=1,col=1:3,legend=names(dat))





----- Original Message ----
From: Gundala Viswanath <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Sent: Sunday, July 6, 2008 8:24:06 PM
Subject: [R] Plot Mixtures of Synthetically Generated Gamma Distributions

Hi,

I have the following vector
which is created from 3 distinct distribution (three components) of gamma:

x=c(rgamma(30,shape=.2,scale=14),rgamma(30,shape=12,scale=10),rgamma(30,shape=5,scale=6))

I want to plot the density curve of X, in a way that it shows
a distinct 3 curves that represent each component.

How can I do that?

I tried this but doesn't work:

lines(density(x))

Please advise.

- Gundala Viswanath
Jakarta - Indonesia

______________________________________________
R-help@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.

______________________________________________
R-help@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.

Reply via email to