Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
r_hadleyverse_fr [2016/11/09 14:04]
xaviergb [3.4 dplyr - Opérations de regroupement et d'aggrégation]
r_hadleyverse_fr [2016/11/09 17:24] (current)
xaviergb [Atelier 3: Introduction à ggplot2, tidyr & dplyr]
Line 14: Line 14:
 Lien vers la présentation Prezi associée : [[http://​prezi.com/​c8w7zdbfv0ap/​|Prezi]] Lien vers la présentation Prezi associée : [[http://​prezi.com/​c8w7zdbfv0ap/​|Prezi]]
  
-Téléchargez le script R pour cet atelier : [[http://​qcbs.ca/​wiki/​_media/​ggplot.r|Script]] +Téléchargez le script R pour cet atelier : {{:atelier3.r|Script}}
 ===== 1. Tracer des graphiques avec R en utilisant la grammaire des graphiques (ggplot2) ===== ===== 1. Tracer des graphiques avec R en utilisant la grammaire des graphiques (ggplot2) =====
  
Line 1026: Line 1025:
 ++++Solution| ​ ++++Solution| ​
 <code rsplus | > <code rsplus | >
-weight_diff ​<- ChickWeight %>​% ​+mass_diff ​<- ChickWeight %>​% ​
      ​group_by(Chick) %>​% ​      ​group_by(Chick) %>​% ​
-     ​summarise(weight_diff ​= max(weight) - min(weight)) +     ​summarise(mass_diff ​= max(weight) - min(weight)) 
-weight_diff+mass_diff
 Source: local data frame [50 x 2] Source: local data frame [50 x 2]
  
Line 1049: Line 1048:
 Notez qu'ici on mesure simplement la différence de masse entre le maximum et le minimum. Il ne s'agit donc pas de la différence de masse entre le début et la fin de l'​étude (différence en ordre chronologique de la masse). Inspectez de plus près les observations liées au poussin # 18 : Notez qu'ici on mesure simplement la différence de masse entre le maximum et le minimum. Il ne s'agit donc pas de la différence de masse entre le début et la fin de l'​étude (différence en ordre chronologique de la masse). Inspectez de plus près les observations liées au poussin # 18 :
 <code rsplus | > <code rsplus | >
-chick_18 ​<- ChickWeight %>% filter(Chick == 18) +poussin_18 ​<- ChickWeight %>% filter(Chick == 18) 
-chick_18+poussin_18
   weight Time Chick Diet   weight Time Chick Diet
 1     ​39 ​   0    18    1 1     ​39 ​   0    18    1
Line 1074: Line 1073:
 ++++Solution| ​ ++++Solution| ​
 <code rsplus | > <code rsplus | >
-diet_summ ​<- ChickWeight %>​% ​+diet_mass ​<- ChickWeight %>​% ​
       group_by(Diet,​ Chick) %>​% ​       group_by(Diet,​ Chick) %>​% ​
-      summarise(weight_gain ​= last(weight) - first(weight)) %>​% ​+      summarise(gain_masse ​= last(weight) - first(weight)) %>​% ​
       group_by(Diet) %>​% ​       group_by(Diet) %>​% ​
-      summarise(mean_gain ​= mean(weight_gain)) +      summarise(gain_moyen ​= mean(gain_masse)) 
-diet_summ +diet_mass 
-# A tibble: 4 × +Sourcelocal data frame [2
-    Diet mean_gain + 
-  ​<fctr>     <dbl> +    Diet gain_moyen 
-1      1     ​114.9 +  ​(fctr)      (dbl) 
-2      2     ​174.0 +1      1      114.9 
-3      3     ​229.5 +2      2      174.0 
-4      4     ​188.3+3      3      229.5 
 +4      4      188.3
 </​code>​ </​code>​
 Cette solution démontre bien la simplicité et l'​élégance de la syntaxe de ''​dplyr''​ et ''​magrittr''​ en situation où nous devons manipuler nos données en plusieurs étapes consécutives. Un défi encore plus difficile, même pour les experts en fonctions dans ''​R''​ de base, serait de reproduire les mêmes opérations avec moins de touches de votre clavier. Nous avons essayé et nous avons échoué... Peut-être sommes-nous trop habitués à ''​dplyr''​ maintenant? Cette solution démontre bien la simplicité et l'​élégance de la syntaxe de ''​dplyr''​ et ''​magrittr''​ en situation où nous devons manipuler nos données en plusieurs étapes consécutives. Un défi encore plus difficile, même pour les experts en fonctions dans ''​R''​ de base, serait de reproduire les mêmes opérations avec moins de touches de votre clavier. Nous avons essayé et nous avons échoué... Peut-être sommes-nous trop habitués à ''​dplyr''​ maintenant?