try: aggregate(d[,2:3], by=list(d$foo), FUN=sum) cheers, Albert
Am Dienstag, den 18.03.2008, 11:41 +0100 schrieb Hans Ekbrand: > Consider the following data.frame, d. > > d <- data.frame(c("a","b","c","d","b","a"), c(1,4,85,3,4,1), c(7,6,2,4,15,33)) > names(d) <- c("foo", "bar", "baz") > > To get the colsum of d[[2]] for the rows that have d$foo == "a" I know > I can use > > colSums(subset(d, d[[1]] == "a", select = 2)) > > But what is needed to get a list of colSums for d[[2]] for each factor > of d$foo ? Can it be done without a for loop? > > ______________________________________________ > 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.