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?

Duncan Murdoch

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

Reply via email to