Это лучше всего иллюстрируется примером
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)
Это дает мне сумму mpg на каждую передачу. Но скажу, что мне нужна таблица 3x3 с шестеркой сверху и цилиндром вниз, и 9 ячеек с двузначными суммами, как бы я получил это "умно".
Я мог бы пойти.
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)
Это кажется громоздким.
Затем, как бы я привел 3-ю переменную в миксе?
Это несколько в пространстве, о котором я думаю. Сводная статистика с использованием ddply
update Это меня туда, но это не очень.
aggregate(mpg ~ am+cyl+gear, mtcars,sum)
Приветствия