Я хотел бы сгруппировать свой кадр данных в определенном столбце, а затем применить функцию к сгруппированным данным, которая возвращает несколько столбцов. В качестве примера рассмотрим следующее
Names = append(rep('Mark',10),rep('Joe',10))
Spend = rnorm(length(Names),50,0.5)
df <- data.frame(
Names,
Spend
)
get.mm <- function(data){
return(list(median(data),mean(data)))
}
Здесь get.mm
возвращает список из двух чисел. Я хотел бы применить get.mm
к df %>% group_by(Names)
и получить в результате два столбца, по одному для каждого вывода функции.
Желаемый результат должен быть
Names median mean
<fctr> <dbl> <dbl>
1 Joe 49.89284 49.9504
2 Mark 50.17244 50.0735
Я упростил функцию здесь для демонстрации, я знаю, что мог бы просто сделать что-то вроде
df %>% group_by(Names) %>% summarise(median = median(Spend), mean = mean(Spend))
summarise_at()
и cran.r-project.org/web/packages /dplyr/виньетки/ - person Alex P   schedule 28.07.2017