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