[R] average by group...

2006-05-30 Thread r user
I have a dataframe with 700,000 rows and 2 vectors
(columns): “group” and “score”.

I  wish to calculate a third vector of length 70:
the average score by group.  Even though the avarge
value will repeat, I wish to return the average for
that particular group for each row.

(I know I can do this by calculating each group’s
average and then using the merge command, but as my
calculations get more complex and my data set gets
larger, the merge command seems to be fairly slow.)

__
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html


Re: [R] average by group...

2006-05-30 Thread Doran, Harold
?tapply
 

 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf Of r user
 Sent: Tuesday, May 30, 2006 12:27 PM
 To: rhelp
 Subject: [R] average by group...
 
 I have a dataframe with 700,000 rows and 2 vectors
 (columns): group and score.
 
 I  wish to calculate a third vector of length 70:
 the average score by group.  Even though the avarge value 
 will repeat, I wish to return the average for that particular 
 group for each row.
 
 (I know I can do this by calculating each group's average and 
 then using the merge command, but as my calculations get more 
 complex and my data set gets larger, the merge command seems 
 to be fairly slow.)
 
 __
 R-help@stat.math.ethz.ch mailing list
 https://stat.ethz.ch/mailman/listinfo/r-help
 PLEASE do read the posting guide! 
 http://www.R-project.org/posting-guide.html


__
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html


Re: [R] average by group...

2006-05-30 Thread Peter Dalgaard
Doran, Harold [EMAIL PROTECTED] writes:

 ?tapply

Nope. 

?ave
  
 
  -Original Message-
  From: [EMAIL PROTECTED] 
  [mailto:[EMAIL PROTECTED] On Behalf Of r user
  Sent: Tuesday, May 30, 2006 12:27 PM
  To: rhelp
  Subject: [R] average by group...
  
  I have a dataframe with 700,000 rows and 2 vectors
  (columns): group and score.
  
  I  wish to calculate a third vector of length 70:


  the average score by group.  Even though the avarge value 
  will repeat, I wish to return the average for that particular 
  group for each row.
  
  (I know I can do this by calculating each group's average and 
  then using the merge command, but as my calculations get more 
  complex and my data set gets larger, the merge command seems 
  to be fairly slow.)
  
  __
  R-help@stat.math.ethz.ch mailing list
  https://stat.ethz.ch/mailman/listinfo/r-help
  PLEASE do read the posting guide! 
  http://www.R-project.org/posting-guide.html
 
 
 __
 R-help@stat.math.ethz.ch mailing list
 https://stat.ethz.ch/mailman/listinfo/r-help
 PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
 

-- 
   O__   Peter Dalgaard Øster Farimagsgade 5, Entr.B
  c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
 (*) \(*) -- University of Copenhagen   Denmark  Ph:  (+45) 35327918
~~ - ([EMAIL PROTECTED])  FAX: (+45) 35327907

__
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html


Re: [R] average by group...

2006-05-30 Thread Doran, Harold
I didn't know about ave(). What about this, though:

dat - data.frame(score = rnorm(100), group = gl(10,10))
group.score - with(dat, tapply(score, group, mean))
dat$group.score - group.score[as.character(dat$group)] 

Harold

 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On 
 Behalf Of Peter Dalgaard
 Sent: Tuesday, May 30, 2006 1:09 PM
 To: Doran, Harold
 Cc: r user; rhelp
 Subject: Re: [R] average by group...
 
 Doran, Harold [EMAIL PROTECTED] writes:
 
  ?tapply
 
 Nope. 
 
 ?ave
   
  
   -Original Message-
   From: [EMAIL PROTECTED] 
   [mailto:[EMAIL PROTECTED] On Behalf Of r user
   Sent: Tuesday, May 30, 2006 12:27 PM
   To: rhelp
   Subject: [R] average by group...
   
   I have a dataframe with 700,000 rows and 2 vectors
   (columns): group and score.
   
   I  wish to calculate a third vector of length 70:
 
 
   the average score by group.  Even though the avarge value will 
   repeat, I wish to return the average for that particular 
 group for 
   each row.
   
   (I know I can do this by calculating each group's average 
 and then 
   using the merge command, but as my calculations get more 
 complex and 
   my data set gets larger, the merge command seems to be 
 fairly slow.)
   
   __
   R-help@stat.math.ethz.ch mailing list 
   https://stat.ethz.ch/mailman/listinfo/r-help
   PLEASE do read the posting guide! 
   http://www.R-project.org/posting-guide.html
  
  
  __
  R-help@stat.math.ethz.ch mailing list
  https://stat.ethz.ch/mailman/listinfo/r-help
  PLEASE do read the posting guide! 
  http://www.R-project.org/posting-guide.html
  
 
 -- 
O__   Peter Dalgaard Øster Farimagsgade 5, Entr.B
   c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
  (*) \(*) -- University of Copenhagen   Denmark  Ph:  
 (+45) 35327918
 ~~ - ([EMAIL PROTECTED])  FAX: 
 (+45) 35327907


__
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html