Questo è meglio illustrato con un esempioStatistiche riassuntive di due o più variabili fattore?
str(mtcars)
mtcars$gear <- factor(mtcars$gear, labels=c("three","four","five"))
mtcars$cyl <- factor(mtcars$cyl, labels=c("four","six","eight"))
mtcars$am <- factor(mtcars$am, labels=c("manual","auto")
str(mtcars)
tapply(mtcars$mpg, mtcars$gear, sum)
Questo mi dà la mpg sommati per ogni marcia. Ma diciamo che volevo un tavolo 3x3 con ingranaggi nella parte superiore e cilindri in basso, e 9 celle con le somme bivariate, come potrei ottenerlo 'elegantemente'.
Potrei andare.
tapply(mtcars$mpg[mtcars$cyl=="four"], mtcars$gear[mtcars$cyl=="four"], sum)
tapply(mtcars$mpg[mtcars$cyl=="six"], mtcars$gear[mtcars$cyl=="six"], sum)
tapply(mtcars$mpg[mtcars$cyl=="eight"], mtcars$gear[mtcars$cyl=="eight"], sum)
Questo sembra ingombrante.
Quindi come potrei inserire una terza variabile nel mix?
Questo è un po 'nello spazio a cui sto pensando. Summary statistics using ddply
aggiornamento Questo mi porta lì, ma non è carino.
aggregate(mpg ~ am+cyl+gear, mtcars,sum)
Acclamazioni
Questa sembra essere la risposta ovvia, considerando che il primo passo è stato quello di sfruttare un fattore. il 'ftable' potrebbe anche essere di interesse. –