On 05.02.2010 00:24, casperyc wrote:

Yes, that is pretty much what I want.

However, there was slightly a mistake.

we need to use ''rate=rate[i]"" and "shape=shape[i]" because the default is

==============================================
dgamma(x, shape, rate = 1, scale = 1/rate, log = FALSE)
==============================================

if we use

==============================================
dgamma(x, rate[i], shape[i])
==============================================

it actually takes shape=rate[i],  shape[i]=rate )



Now I have another problem,
I printed it out, the colorful does not seem to pretty, so i tried to use
STRAIGHT lines for all of them
==============================================
x<- 5 * ppoints(100)
rate<- rep(c(2, 4), each = 3)
shape<- rep(c(1, 3, 5), 2)
gamden<- matrix(NA, nrow = 6, ncol = 100)
for(i in 1:6) gamden[i, ]<- dgamma(x, rate=rate[i], shape=shape[i])
matplot(x, t(gamden), type = 'l',  col = 1:6, ylab = 'density')
==============================================

this does not plot with straight line.
i am guessing it is not controlled by lty??????

It is, hence

matplot(x, t(gamden), type = 'l',  col = 1:6, ylab = 'density', lty=1)

does the trick.

Uwe Ligges




now i have gone back and used this to produce the graph and sorted out.
==============================================
plot(sin,xlim=c(0,4),ylim=c(0,3),type='n',ylab="density",las=1)
i=1
for(rate in c(2,4) ){
        for(shape in c(1,3,5) ){
        curve(dgamma(x,rate=rate,shape=shape),col=i,lwd=2,add=T)
        i=i+1
        }
}

rate<- rep(c(2, 4), each = 3)
shape<- rep(c(1, 3, 5), 2)

parText<- function(names, pars) {
      p1<- paste("* '= ", pars[-length(pars)], ", '*", sep = "")
      p2<- paste("* '= ", pars[length(pars)], "'")
      p<- c(p1, p2)
      txt<- paste(names, p, collapse = "")
      parse(text = txt)
     }

names<- c('lambda', 'theta')
vals<- cbind(rate, shape)

legnames<- c(parText(names, vals[1, ]), parText(names, vals[2, ]),
                parText(names, vals[3, ]), parText(names, vals[4, ]),
                parText(names, vals[5, ]), parText(names, vals[6, ]))
                        
legend(locator(1), legend = legnames, lwd=rep(c(2),6), col = 1:6)
==============================================


[[elided Hotmail spam]]

Thanks!

casper

______________________________________________
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