Trouver pourcentage dans un sous-groupe à l'aide de group_by et de synthèse
Je suis nouveau sur dplyr et en essayant de faire la transformation suivante sans un peu de chance. J'ai cherché sur internet et j'ai trouvé des exemples à faire de même dans ddply mais je voudrais utiliser dplyr.
J'ai les données suivantes:
month type count
1 Feb-14 bbb 341
2 Feb-14 ccc 527
3 Feb-14 aaa 2674
4 Mar-14 bbb 811
5 Mar-14 ccc 1045
6 Mar-14 aaa 4417
7 Apr-14 bbb 1178
8 Apr-14 ccc 1192
9 Apr-14 aaa 4793
10 May-14 bbb 916
.. ... ... ...
Je veux utiliser dplyr pour calculer le pourcentage de chaque type (aaa, bbb, ccc) au mois niveau c'est à dire
month type count per
1 Feb-14 bbb 341 9.6%
2 Feb-14 ccc 527 14.87%
3 Feb-14 aaa 2674 ..
.. ... ... ...
J'ai essayé
data %>%
group_by(month, type) %>%
summarise(count / sum(count))
Cela donne une 1 comme chaque valeur. Comment puis-je faire la somme(comte de) somme de tous les types dans le mois?
Vous devez vous connecter pour publier un commentaire.
Essayer
On peut aussi utiliser
left_join
après avoir résumé lessum(count)
par "mois"Ou une option à l'aide de
data.table
.Et avec un peu moins de code:
Puisque vous voulez à "quitter" votre bloc de données intacte, vous ne devriez pas utiliser
summarise
,mutate
suffira.