Zamień kolejność argumentów, ponieważ jesteś zapętlenie nad funkcjami nie dane.
sapply(list(sum, min, max), function(f) f(1:5))
Dwa najbardziej korzystnymi nowoczesne metody obliczania statystyk podsumowania używać pakietów dplyr
i data.table
. dplyr
ma wiele rozwiązań (działa tylko z ramkami danych, nie wektorami) przy użyciu summarise
lub summarise_each
.
library(dplyr)
data <- data.frame(x = 1:5)
summarise(data, min = min(x), max = max(x), sum = sum(x))
summarise_each(data, funs(min, max, sum))
dplyr
-idiomatic styl jest skonstruowanie wyrażenia używając chaining.
data %>%
summarise(min = min(x), max = max(x), sum = sum(x))
data %>%
summarise_each(funs(min, max, sum))
Do stosowania programowej (w przeciwieństwie do interaktywnej użytku), podkreślenia-sufiksem funkcje i formulae są zalecane dla non-standard evaluation.
data %>%
summarise_(min = ~ min(x), max = ~ max(x), sum = ~ sum(x))
data %>%
summarise_each_(funs_(c("min", "max", "sum"), "x")
Zobacz agstudy's answer dla rozwiązania data.table
.