How I wish it were but sadly its not. I have a bad habit of wanting my code to look elegant but still readable.
On Fri, Mar 16, 2012 at 11:14 AM, Ranjan Maitra <mai...@iastate.edu> wrote: > Wonder if this is part of some assignment with points on elegance > of code. Sort of when I teach a class...... > > > On Fri, 16 Mar 2012 10:02:48 -0400 Raphael Fraser > <raphael.fra...@gmail.com> wrote: > >> Thank you all. Your responses were very helpful. >> >> Raphael >> >> On Fri, Mar 16, 2012 at 5:04 AM, Daniel Nordlund >> <djnordl...@frontier.com> wrote: >> > >> >> -----Original Message----- >> >> From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] >> >> On Behalf Of Pascal Oettli >> >> Sent: Friday, March 16, 2012 12:36 AM >> >> To: Raphael Fraser >> >> Cc: r-help@r-project.org >> >> Subject: [R] Re : Elegant Code >> >> >> >> 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.fra...@gmail.com> >> >> À : r-help@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 >> >> >> > >> > Or, just get rid of the for loops altogether, something like this >> > >> > trials <-5 >> > N <- 50 >> > b <- rigamma(N*trials, 1, 1) >> > theta <- rgamma(N*trials,0.5,1/b) >> > sim <- rpois(N*trials,theta) >> > >> > dim(sim) <- c(N,trials) >> > >> > boxplot(sim) >> > >> > >> > Hope this is helpful, >> > >> > Dan >> > >> > Daniel Nordlund >> > Bothell, WA USA >> > >> > ______________________________________________ >> > 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. >> > > ______________________________________________ > 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.