[R] Summary stats in table

Hadley Wickham hadley at rice.edu
Tue Oct 25 01:16:45 CEST 2011


On Mon, Oct 24, 2011 at 5:39 AM, Duncan Murdoch
<murdoch.duncan at gmail.com> wrote:
> Suppose I have data like this:
>
> A <- sample(letters[1:3], 1000, replace=TRUE)
> B <- sample(LETTERS[1:2], 1000, replace=TRUE)
> x <- rnorm(1000)
>
> I can get a table of means via
>
> tapply(x, list(A, B), mean)
>
> and I can add the marginal means to this using cbind/rbind:
>
> main <- tapply(x, list(A,B), mean)
> Amargin <- tapply(x, list(A), mean)
> Bmargin <- tapply(x, list(B), mean)
>
> rbind(cbind(main, all=Amargin),all=c(Bmargin, mean(x)))
>
> But this is tedious.  Has some package got some code that makes this easier?

Have a look at reshape2::add_margins - it's not super efficient, but I
think cool because it works for arbitrarily many dimensions.

Hadley

-- 
Assistant Professor / Dobelman Family Junior Chair
Department of Statistics / Rice University
http://had.co.nz/



More information about the R-help mailing list