Сводная функция R в ddply (plyr) простым способом

Как мне воспроизвести это с plyr?

with(mtcars, tapply(mpg, cyl, summary))

С такой же элегантностью, то есть без подробного описания отдельных статистических данных?


person Rico    schedule 31.07.2013    source источник


Ответы (1)


library(plyr)
dlply(mtcars, .(cyl), function(x) summary(x$mpg))

Вы также можете сделать это в data.frame, который я обычно предпочитаю сложным спискам ...

ddply(mtcars, .(cyl), function(x) summary(x$mpg))

#   cyl Min. 1st Qu. Median  Mean 3rd Qu. Max.
# 1   4 21.4   22.80   26.0 26.66   30.40 33.9
# 2   6 17.8   18.65   19.7 19.74   21.00 21.4
# 3   8 10.4   14.40   15.2 15.10   16.25 19.2
person Justin    schedule 31.07.2013
comment
Очень хорошо. Я часто упускаю из виду возможность использования функций, отличных от стандартных 'summarize', 'mutate' и т. Д. С помощью 'plyr'. - person Dinre; 31.07.2013