Sorry to hijack this thread. I have a similar but slightly different situation. Using the original poster's example, how to elegantly get the mean of column V2 when column V1 is either A or C and F1 is 0?
Thanks, Gang On Nov 13, 2007, at 5:30 AM, Petr PIKAL wrote: > Hi > > [EMAIL PROTECTED] napsal dne 13.11.2007 10:59:09: > >> Dear list, >> >> I have this dataframe >> >> V1 V2 F1 >> 1 A 2 0 >> 2 A 3 0 >> 3 A 4 1 >> 4 B 3 0 >> 5 B 2 1 >> 6 C 6 0 >> 7 C 2 0 >> 8 C 6 0 >> >> and would like to calculate a new column >> with mean-values, following this rule >> >> 1. If F1 = 0 calculate the mean from V2 >> for each factor in V1. >> >> 2. If F1 = 1, then F1_mean = 0 >> >> So, the new DF should look like this >> >> V1 V2 F1 F1_mean >> 1 A 2 0 2.5 >> 2 A 3 0 2.5 >> 3 A 4 1 0.0 >> 4 B 3 0 3.0 >> 5 B 2 1 0.0 >> 6 C 6 0 7.0 >> 7 C 2 0 7.0 >> 8 C 6 0 7.0 > > I would use ave for computing mean for combination of V1 and F1 and > then I > put all values of F1_mean for which F1 is 1 to 0 > > test$F1_mean <- ave(test$V2, test$V1, factor(test$F1), FUN = mean) > test$F1_mean[test$F1==1] <- 0 > > Regards > Petr > >> >> Thank you for any help! >> >> Patrick Hausmann [[alternative HTML version deleted]] ______________________________________________ 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.