Is this what you want? > lapply(split(d, d$foo), function(x) colSums(x[,-1])) $a bar baz 2 40
$b bar baz 8 21 $c bar baz 85 2 $d bar baz 3 4 > On Tue, Mar 18, 2008 at 5:41 AM, Hans Ekbrand <[EMAIL PROTECTED]> wrote: > 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? > > -- > Hans Ekbrand (http://sociologi.cjb.net) <[EMAIL PROTECTED]> > GPG Fingerprint: 1408 C8D5 1E7D 4C9C C27E 014F 7C2C 872A 7050 614E > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.6 (GNU/Linux) > > iD8DBQFH35xlfCyHKnBQYU4RAqItAKC4Ksiq/ZP0mK98+Bp9nCeVt4m95QCfWALV > b8WM/M+ITG502zi0McHnV30= > =/dm6 > -----END PGP SIGNATURE----- > > ______________________________________________ > 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. > > -- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem you are trying to solve? ______________________________________________ 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.