[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 __ 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.
Re: [R] Re : Elegant Code
-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.
Re: [R] Re : Elegant Code
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.
Re: [R] Re : Elegant Code
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.
Re: [R] Re : Elegant Code
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.