[R] adding group totals to a table

Gabor Grothendieck ggrothendieck at gmail.com
Mon Dec 10 17:08:03 CET 2007


split the data frame, cbind the count and unsplit back:

 DF <- data.frame(A = c("A", "A", "A", "B", "C"), B = c(1, 1, 2, 2, 0))

> g <- paste(DF$A, DF$B)
> s <- split(DF, g)
> u <- lapply(s, function(x) cbind(x, Occurs = nrow(x)))
> unsplit(u, g)
  A B Occurs
1 A 1      2
2 A 1      2
3 A 2      1
4 B 2      1
5 C 0      1

See ?split where there is a very similar example.

On Dec 9, 2007 4:35 AM, christopher snow <snowch at coralms.com> wrote:
> I have a table with two columns:
>
> A   1
> A   1
> A   2
> B   2
> C   0
>
> I would like to produce a third column that contains the counts of each
> unique combination of col1 and col2:
>
> A   1  2
> A   1  2
> A   2  1
> B   2  1
> C   0  1
>
> How can I do this in R?
>
> Thanks in advance ...
>
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
>
> ______________________________________________
> R-help at 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.
>



More information about the R-help mailing list