Hi,

I think ave() might do what you want:
df <- data.frame(a=rep(c("this","that"),5), b1=rnorm(10), b2=rnorm(10))
ave(df[,2], df[,1], FUN=mean)

For all columns, you could do that:
d <- lapply(df[,2:3], FUN=function(x)ave(x,df[,1],FUN=mean))
df2 <- cbind(df, d)

HTH,
Ivan

Le 2/25/2011 12:11, zem a écrit :
Hi all,

i have a little problem, and i think it is really simple to solve, but i
dont know exactly how to.
here is the "challange":
i have a data.frame with n colum, i have to group 2 of them and calculate
the mean value of the 3. one. so far so good, that was easy - i used
aggregate function to do this:
group<-aggregate(x[,1],list(x[,2],x[,3]),mean)
and now i have to copy the calculated mean value to every row of the
date.frame (in a new column in the dataframe), ofcourse by copying should be
the value  adequate to the group

it will be great if someone can help me
thanx in advance!

--
Ivan CALANDRA
PhD Student
University of Hamburg
Biozentrum Grindel und Zoologisches Museum
Abt. Säugetiere
Martin-Luther-King-Platz 3
D-20146 Hamburg, GERMANY
+49(0)40 42838 6231
ivan.calan...@uni-hamburg.de

**********
http://www.for771.uni-bonn.de
http://webapp5.rrz.uni-hamburg.de/mammals/eng/1525_8_1.php

______________________________________________
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.

Reply via email to