Может ли dplyr суммировать несколько переменных без перечисления каждой из них? [Дубликат]

На этот вопрос уже есть ответ:

Агрегатировать / суммировать несколько переменных на группу (например, сумма, среднее) 6 ответов

dplyr удивительно быстр, но мне интересно, если я что-то упустил: возможно ли суммировать по нескольким переменным. Например

library(dplyr)
library(reshape2)

(df=dput(structure(list(sex = structure(c(1L, 1L, 2L, 2L), .Label = c("boy", 
"girl"), class = "factor"), age = c(52L, 58L, 40L, 62L), bmi = c(25L, 
23L, 30L, 26L), chol = c(187L, 220L, 190L, 204L)), .Names = c("sex", 
"age", "bmi", "chol"), row.names = c(NA, -4L), class = "data.frame")))

   sex age bmi chol
1  boy  52  25  187
2  boy  58  23  220
3 girl  40  30  190
4 girl  62  26  204

dg=group_by(df,sex)

С этим небольшим фреймом легко писать

summarise(dg,mean(age),mean(bmi),mean(chol))

И я знаю, что, чтобы получить то, что я хочу, я мог бы растаять, получить средства, а затем сделать дкаста типа

dm=melt(df, id.var='sex')
dmg=group_by(dm, sex, variable); 
x=summarise(dmg, means=mean(value))
dcast(x, sex~variable)

Но что, если у меня> 20 переменных и очень большое количество строк? Есть ли что-то похожее на .SD в data.table, которое позволило бы мне использовать все переменные в сгруппированном фрейме данных? Или можно как-то использовать lapply для сгруппированного фрейма данных?

Спасибо за любую помощь

Ответы на вопрос(2)

Ваш ответ на вопрос