[R] Re : Elegant Code

Pascal Oettli kridox at ymail.com
Fri Mar 16 08:36:14 CET 2012


Hi Raphael,

Something like that?

require(pscl)sim <- numeric()
for(i in 1:5){
  eval(parse(text=paste('b',i,' <- rigamma(50,1,1)',sep='')))
  eval(parse(text=paste('theta',i,' <- rgamma(50,0.5,(1/b',i,'))',sep='')))
  eval(parse(text=paste('sim',i,' <- rpois(50,theta',1,')',sep='')))
  eval(parse(text=paste('sim <- cbind(sim, sim',i,')',sep='')))
}
x11()
par(mfrow=c(1,5))
boxplot(c(sim1,sim2,sim3,sim4,sim5))

x11()
boxplot(sim)


Regards,
Pascal


----- Mail original -----
De : Raphael Fraser <raphael.fraser at gmail.com>
À : r-help at r-project.org
Cc : 
Envoyé le : Vendredi 16 mars 2012 16h09
Objet : [R] Elegant Code

Hi,

Can anyone help to write a more elegant version of my code? I am sure
this can be put into a loop but I am having trouble creating the
objects b1,b2,b3,...,etc.

b1 <- rigamma(50,1,1)
theta1 <- rgamma(50,0.5,(1/b1))
sim1 <- rpois(50,theta1)

b2 <- rigamma(50,1,1)
theta2 <- rgamma(50,0.5,(1/b2))
sim2 <- rpois(50,theta2)

b3 <- rigamma(50,1,1)
theta3 <- rgamma(50,0.5,(1/b3))
sim3 <- rpois(50,theta3)

b4 <- rigamma(50,1,1)
theta4 <- rgamma(50,0.5,(1/b4))
sim4 <- rpois(50,theta4)

b5 <- rigamma(50,1,1)
theta5 <- rgamma(50,0.5,(1/b5))
sim5 <- rpois(50,theta5)



par(mfrow=c(1,5))
boxplot(sim1)
boxplot(sim2)
boxplot(sim3)
boxplot(sim4)
boxplot(sim5);

Thanks,
Raphael

______________________________________________
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