[R] Re : Elegant Code

2012-03-16 Thread Pascal Oettli
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

2012-03-16 Thread Daniel Nordlund

 -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

2012-03-16 Thread Raphael Fraser
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

2012-03-16 Thread Ranjan Maitra
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

2012-03-16 Thread Raphael Fraser
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.