Я использую dplyr summaryise_each для применения функции к нескольким столбцам данных. Одно замечательно, что вы можете сразу применить несколько функций. Дело в том, что это раздражает, что вывод представляет собой кадр данных с одной строкой. Кажется, что он должен возвращать столько строк, сколько функций, с таким количеством столбцов, как столбцы, которые были суммированы.
library(dplyr)
default <-
iris %>%
summarise_each(funs(min, max), matches("Petal"))
это возвращает
> default
Petal.Length_min Petal.Width_min Petal.Length_max Petal.Width_max
1 1 0.1 6.9 2.5
Я бы предпочел что-то вроде
library(reshape2)
desired <-
iris %>%
select(matches("Petal")) %>%
melt() %>%
group_by(variable) %>%
summarize(min=min(value),max=max(value)) %>%
t()
который возвращает что-то близкое (а не фреймворк данных, но вы все понимаете)
> desired
[,1] [,2]
variable "Petal.Length" "Petal.Width"
min "1.0" "0.1"
max "6.9" "2.5"
есть ли опция в summaryise для этого? Если нет, Хэдли, не могли бы вы добавить его?