dplyr est étonnamment rapide, mais je me demande si je suis absent quelque chose: est-il possible de résumer plus de plusieurs variables. Par exemple:
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)
Avec ce petit dataframe, il est facile d'écrire
summarise(dg,mean(age),mean(bmi),mean(chol))
Et je sais que pour obtenir ce que je veux, je pourrais faire fondre, obtenir les moyens, et puis dcast comme
dm=melt(df, id.var='sex')
dmg=group_by(dm, sex, variable);
x=summarise(dmg, means=mean(value))
dcast(x, sex~variable)
Mais que faire si j'ai >20 variables et un très grand nombre de lignes. Est-il rien de semblable .SD de données.le tableau qui me permettrait de prendre les moyens de toutes les variables dans les données groupées cadre? Ou, est-il possible de faire en quelque sorte l'utilisation lapply sur les données groupées cadre?
Merci pour toute aide