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
Last revision Both sides next revision
r_atelier2 [2018/10/02 16:58]
katherinehebert [gather(): Rassembler les données en longueur]
r_atelier2 [2019/08/08 17:49]
mariehbrice [Atelier 2 : Charger et manipuler des données]
Line 12: Line 12:
 **Résumé :** Durant cet atelier, vous apprendrez comment charger et visualiser des données dans R. Vous apprendrez certaines fonctions permettant d’examiner vos données et vous apprendrez comment corriger certaines erreurs communes se produisant lors du chargement des données. Finalement, vous verrez l’importance de sauvegarder votre travail dans un script R, soit un fichier texte contenant tous vos codes et permettant de refaire toutes vos analyses en appuyant sur une seule touche (ou deux, ou trois peut-être…). Ensuite, nous présenterons tidyr et dplyr pour vous aider à transformer et à gérer le format de vos données ainsi que pour appliquer des fonctions simples ou complexes sur des sous-groupes de vos jeux de données. Cet atelier s’avérera utile non seulement pour les participants suivant notre série d’ateliers,​ mais également pour ceux et celles d’entre vous connaissant déjà le langage R et cherchant à maîtriser des outils plus avancés pour l'​analyse et la visualisation de vos données. **Résumé :** Durant cet atelier, vous apprendrez comment charger et visualiser des données dans R. Vous apprendrez certaines fonctions permettant d’examiner vos données et vous apprendrez comment corriger certaines erreurs communes se produisant lors du chargement des données. Finalement, vous verrez l’importance de sauvegarder votre travail dans un script R, soit un fichier texte contenant tous vos codes et permettant de refaire toutes vos analyses en appuyant sur une seule touche (ou deux, ou trois peut-être…). Ensuite, nous présenterons tidyr et dplyr pour vous aider à transformer et à gérer le format de vos données ainsi que pour appliquer des fonctions simples ou complexes sur des sous-groupes de vos jeux de données. Cet atelier s’avérera utile non seulement pour les participants suivant notre série d’ateliers,​ mais également pour ceux et celles d’entre vous connaissant déjà le langage R et cherchant à maîtriser des outils plus avancés pour l'​analyse et la visualisation de vos données.
  
-Lien vers la présentation Prezi associée ​: [[http://​prezi.com/​8qxowa3378ju/​csbq-atelier-r-2/​|Prezi]]+**Lien vers la nouvelle [[https://​qcbsrworkshops.github.io/​workshop02/​workshop02-fr/​workshop02-fr.html|présentation Rmarkdown]]** 
 + 
 +//S'il vous plaît essayez-la et dites aux coordonnateurs des ateliers R ce que vous en pensez!// 
 + 
 +Lien vers l'​ancienne ​[[http://​prezi.com/​8qxowa3378ju/​csbq-atelier-r-2/​|présentation ​Prezi]]
  
 Téléchargez les scripts et les données requis pour cet atelier :  Téléchargez les scripts et les données requis pour cet atelier : 
Line 572: Line 576:
 De plus, les données en format long peuvent être agrégées et réorganisées en format large afin de produire des résumés ou de vérifier si un jeu de données est équilibré (i.e. avec le même nombre d'​observations par traitement). De plus, les données en format long peuvent être agrégées et réorganisées en format large afin de produire des résumés ou de vérifier si un jeu de données est équilibré (i.e. avec le même nombre d'​observations par traitement).
  
-On peut utiliser le paquet ''​tidyr''​ pour manipuler la structure d'un jeu de données en préservant ​tous les informations ​originaux ​à l'aide des fonctions suivantes:+On peut utiliser le paquet ''​tidyr''​ pour manipuler la structure d'un jeu de données en préservant ​toutes ​les informations ​d'​origine ​à l'aide des fonctions suivantes:
  
   * 1. "​rassembler"​ les données (//gather data// en anglais; large --> long)   * 1. "​rassembler"​ les données (//gather data// en anglais; large --> long)
   * 2. "​disperser"​ les données (//spread data// en anglais; long --> large)   * 2. "​disperser"​ les données (//spread data// en anglais; long --> large)
  
-Pour vous rappeler de ces deux termes, pensez à faire le ménage: lorsqu'​on disperse nos données (en format large) c'est le dégât, tandis que lorsqu'​on passe le balai, on rassemble les données pour les empiler proprement (en format long). 
  
 {{:​gather-spread.png?​600|}} {{:​gather-spread.png?​600|}}
Line 929: Line 932:
 **BONUS :** Dans RStudio, on peut insérer le "​pipe"​ rapidement avec la combinaison des touches suivantes: ''​Ctrl''​ (or ''​Cmd''​ sur Mac) +''​Shift''​+''​M''​. **BONUS :** Dans RStudio, on peut insérer le "​pipe"​ rapidement avec la combinaison des touches suivantes: ''​Ctrl''​ (or ''​Cmd''​ sur Mac) +''​Shift''​+''​M''​.
  
-=====dplyr - regroupement ​d'​opérations et sommaires=====+=====Regroupement ​d'​opérations et sommaires ​avec "​dplyr"​=====
  
 Les verbes ''​dplyr''​ que nous avons utilisés dans cet atelier sont utiles individuellement,​ mais deviennent particulièrement puissants quand ils sont reliés par le "​pipe"​ (''​%>​%''​),​ et lorsqu'​on les applique sur des sous-ensembles de données. Les fonctions ''​dplyr''​ suivantes nous permettent de séparer nos jeu de données en groupes distincts sur lesquels on peut exécuter des opérations individuelles,​ comme des fonctions d'​aggrégation et de sommaire: Les verbes ''​dplyr''​ que nous avons utilisés dans cet atelier sont utiles individuellement,​ mais deviennent particulièrement puissants quand ils sont reliés par le "​pipe"​ (''​%>​%''​),​ et lorsqu'​on les applique sur des sous-ensembles de données. Les fonctions ''​dplyr''​ suivantes nous permettent de séparer nos jeu de données en groupes distincts sur lesquels on peut exécuter des opérations individuelles,​ comme des fonctions d'​aggrégation et de sommaire:
Line 1004: Line 1007:
 On s'​aperçoit que le poussin a perdu de la masse (il est probablement décédé, puisqu'​il a seulement 2 observations). D'un point de vue scientifique,​ on pourrait s'​intéresser davantage à la question: quelle alimentation engendre un gain de masse plus important chez les poussins individuels?​ On pourrait donc calculer la différence de masse entre le début et la fin avec deux autres fonctions utiles dans ''​dplyr''​ : ''​first()''​ et ''​last()''​ nous permettent d'​accéder à la première et la deuxième observation d'un sous-groupe,​ respectivement. On s'​aperçoit que le poussin a perdu de la masse (il est probablement décédé, puisqu'​il a seulement 2 observations). D'un point de vue scientifique,​ on pourrait s'​intéresser davantage à la question: quelle alimentation engendre un gain de masse plus important chez les poussins individuels?​ On pourrait donc calculer la différence de masse entre le début et la fin avec deux autres fonctions utiles dans ''​dplyr''​ : ''​first()''​ et ''​last()''​ nous permettent d'​accéder à la première et la deuxième observation d'un sous-groupe,​ respectivement.
 ++++ ++++
----- 
  
-===== Indice pour les ninjas ​=====+==== Indice pour les ninjas ====
  
 Notez qu'on peut regrouper un jeu de données par plus qu'un facteur, en suivant la syntaxe suivante : Notez qu'on peut regrouper un jeu de données par plus qu'un facteur, en suivant la syntaxe suivante :
Line 1017: Line 1019:
  
 Le ''​groupe2''​ est éliminé, et le jeu de données devient ensuite groupé par ''​groupe1''​. ​ Le ''​groupe2''​ est éliminé, et le jeu de données devient ensuite groupé par ''​groupe1''​. ​
----- 
  
-===== NINJA DÉFI: dplyr & magrittr ​=====+==== NINJA DÉFI: dplyr & magrittr ====
 // En utilisant le jeu de données ''​ChickWeight'',​ créez un tableau sommaire qui indique pour chaque ''​Diet'',​ la moyenne de la différence de masse entre la fin et le début de l'​étude pour chaque poussin. Utilisez les verbes ''​dplyr''​ et le pipe ''​%>​%''​. (Indice : les fonctions ''​first()''​ et ''​last()''​ pourraient s'​avérer utiles).// ​ // En utilisant le jeu de données ''​ChickWeight'',​ créez un tableau sommaire qui indique pour chaque ''​Diet'',​ la moyenne de la différence de masse entre la fin et le début de l'​étude pour chaque poussin. Utilisez les verbes ''​dplyr''​ et le pipe ''​%>​%''​. (Indice : les fonctions ''​first()''​ et ''​last()''​ pourraient s'​avérer utiles).// ​
  
Line 1042: Line 1043:
 ++++ ++++
  
----- 
  
 ===== Fusionner des tableaux de données avec dplyr ===== ===== Fusionner des tableaux de données avec dplyr =====
Line 1058: Line 1058:
  
   * [[https://​www.rstudio.com/​wp-content/​uploads/​2015/​02/​data-wrangling-cheatsheet.pdf|L'​aide-mémoire de manipulation de données de RStudio [EN]]] ​   * [[https://​www.rstudio.com/​wp-content/​uploads/​2015/​02/​data-wrangling-cheatsheet.pdf|L'​aide-mémoire de manipulation de données de RStudio [EN]]] ​
-  * [[https://​juba.github.io/​tidyverse/​index.html/Introduction au tidyverse par Julien Barnier [FR]]] ​+  * [[https://​juba.github.io/​tidyverse/​index.html|Introduction au tidyverse par Julien Barnier [FR]]] ​
   * [[https://​cran.rstudio.com/​web/​packages/​dplyr/​vignettes/​introduction.html|CRAN Intro to dplyr [EN]]]   * [[https://​cran.rstudio.com/​web/​packages/​dplyr/​vignettes/​introduction.html|CRAN Intro to dplyr [EN]]]
   * [[http://​seananderson.ca/​2014/​09/​13/​dplyr-intro.html|Sean Anderson'​s Intro to dplyr and pipes [EN]]]   * [[http://​seananderson.ca/​2014/​09/​13/​dplyr-intro.html|Sean Anderson'​s Intro to dplyr and pipes [EN]]]
   * [[https://​rpubs.com/​bradleyboehmke/​data_wrangling|Bradley Boehmke'​s Intro to data wrangling [EN]]]   * [[https://​rpubs.com/​bradleyboehmke/​data_wrangling|Bradley Boehmke'​s Intro to data wrangling [EN]]]