1+1
1 Introduction
1.1 Pourquoi les statistiques?
Ah la grande question, pourquoi avons-nous besoin de cours de statistiques dans un baccalauréat de biologie-écologie? Ce n’est probablement pas ce qui vous a amené à choisir cette formation. Et pourtant, on vous impose non seulement un, mais deux cours de statistiques!
La raison de ce choix est simple : la nature est extrêmement variable. Chaque phénomène que l’on observe, chaque animal que l’on mesure, chaque arbre que l’on coupe est différent des autres. Mais pourtant, votre aurez besoin pour travailler de connaître certaines généralités : la paruline jaune se retrouve surtout dans les bosquets près des cours d’eau, le phosphore augmente la quantité de cyanobactéries dans les lacs, le CO2 dans l’atmosphère cause les changements climatiques, etc.
Comment arrive-t-on à ces conclusions si tout est si variable?
1.2 Exemple concret
Vous achetez un sachet de semences de coriandre. Une fois à la maison, vous prenez deux pots identiques que vous remplissez de la même quantité de terre. Vous ajoutez la même quantité d’eau et vous installez les pots côte à côte devant la même fenêtre. Vous prenez ensuite votre sachet de graines, vous séparez le contenu en deux parties égales, et vous en plantez une moitié dans un pot et l’autre moitié dans l’autre.
Trois semaines plus tard, votre coriandre a assez poussé pour la récolter. Par curiosité, vous pesez la récolte des deux pots pour la comparer. Inévitablement les récoltes ne seront pas parfaitement égales. Dans ce cas-ci, la récolte du premier pot est 9 g plus importante que l’autre.
Quelque temps plus tard, un de vos amis vous dit que votre coriandre poussera vraiment mieux si vous ajoutez une cuillère à thé d’engrais à votre eau. Vous répétez donc l’expérience, mais cette-fois, vous ajoutez de l’engrais dans la préparation d’un des pots. Vous récoltez votre coriandre quelques semaines plus tard, et votre pot avec l’engrais contient 10 g de plus de coriandre que son voisin.
Est-ce que c’est l’engrais a fait effet ou vous avez été chanceuse et que la variabilité normale entre les récoltes a favorisé par hasard le pot dans lequel vous aviez mis de l’engrais?
Et si vous recommencez l’expérience 10 fois, et que 7 des 10 fois le pot avec l’engrais vous donne une plus grande récolte, est-ce que l’engrais fait une différence ou c’est encore la chance?
Ce genre de question est beaucoup plus complexe à résoudre qu’il n’y paraît, et vous n’aurez pas de trop de deux cours de 45 heures pour assimiler toutes les nuances.
Sachez en terminant qu’une fois sur le marché du travail, la majorité des étudiants de programmes de biologie et d’écologie auraient souhaité (eh oui!) avoir plus de cours sur les méthodes d’analyse de données1.
1.3 Pourquoi le logiciel R?
La question qui suit normalement le questionnement sur les statistiques est : pourquoi faut-il utiliser R? Il me semble que Excel ça fait le travail non? La réponse est que oui, Excel faisait probablement le travail pour ce que vous avez eu à faire dans le passé, mais il ne sera pas complètement approprié pour ce que vous aurez à affronter dans le premier cours, et surtout pas dans le deuxième.
Il faut cependant l’avouer, R n’est pas un logiciel facile d’approche. Lorsque vous lancez R la première fois, vous obtenez essentiellement un écran vide, avec un curseur qui clignote, qui attend que vous saisissiez des commandes. Comme les ordinateurs fonctionnaient au début des années 1980… on est vraiment loin de l’iPad! R est essentiellement un langage de programmation. Pour le pire, mais aussi pour le meilleur.
Les avantages d’utiliser R sont nombreux. Le premier, est qu’il est gratuit! Chaque fois que quelqu’un vous mentionnera que les choses sont plus simples dans Systat ou un autre logiciel du même genre qui possède une interface graphique poussée, gardez en mémoire que ce genre de logiciel coûte souvent plusieurs centaines, voire des milliers de dollars.
Mais outre les arguments financiers, R de par sa nature de langage de programmation ouvert, est extrêmement versatile. En quelques secondes, vous pouvez avoir au bout de vos doigts, dans le même logiciel, le nécessaire pour créer des cartes interactives2, trouver des visages dans une image3, mesurer l’ouverture dans une canopée forestière4 ou détecter des chants d’oiseaux dans un MP35.
Il existe de nombreux autres langages de programmation avec des capacités statistiques que nous pourrions utiliser outre que R, entre autres Python ou Julia. Par contre, peu de langages ont des communautés en ligne aussi accueillantes et ouvertes que celles organisées autour de R. Dans le monde parfois cruel des communautés virtuelles, il est rassurant pour une débutante de savoir que les interactions à propos de R sont les plus agréables sur le site de questions en ligne Stack Overflow6. Vous pouvez aussi en quelques clics trouver des conférences et des formations gratuites sur un ensemble de sujets7, souvent organisées par des femmes ou des minorités visibles8.
Entre autres, la réponse de la communauté R a été exemplaire face aux comportements inappropriés d’un dirigeant de DataCamp et la tentative de la compagnie camoufler l’histoire9. Dans un monde informatique empreint de machisme et souvent contrôlé par des hommes blancs occidentaux, cet aspect n’est pas à négliger.
1.4 Faciliter les choses
Apprendre à programmer n’est pas simple. C’est un métier en soi. Chaque fois que vous aurez des ennuis de programmation, rappelez-vous que c’est normal d’en arracher. Lors de ma première session en informatique au CÉGEP, nous avons passé les deux premiers mois de la session à programmer sur papier, sans toucher à l’ordinateur, pour s’assurer de bien maîtriser les concepts de base. Nous n’avons malheureusement pas ce temps disponible ici. Sachez néanmoins qu’il est normal d’avoir une fenêtre de Google ouverte à côté de celle de R pour chercher des trucs. Même après 10 ans de R, je dois constamment consulter internet pour retrouver des trucs que j’ai oublié comment faire. On vous en demande beaucoup d’apprendre à la fois les statistiques et la programmation, en deux sessions de 45 heures. Mon travail sera de vous faciliter les choses le plus possible pour que vous y arriviez. J’y travaillerai avec vous sur trois aspects.
D’abord, au niveau de votre interaction avec le logiciel R. Plutôt que de travailler avec R pur, je vous ferai travailler avec le logiciel RStudio. Ce dernier est une interface, une coquille en quelque sorte, qui emballe R pour le rendre plus accessible et convivial. Toutes les commandes que nous lancerons dans RStudio auraient fonctionné dans R pur aussi, mais nous aurons aussi accès à une quantité d’autres outils qui n’auraient pas été disponibles sinon.
Deuxièmement, je vais tenter de vous simplifier le code R à exécuter le plus possible. R n’est pas un langage de programmation très contraignant, ce qui signifie en pratique qu’il existe des dizaines de façons différentes d’effectuer la même tâche. Plutôt que de vous enseigner la façon de base de faire les choses, je vous conseillerai souvent d’utiliser des librairies de code supplémentaires. En particulier, nous discuterons souvent des libraries ggplot210 et dplyr11, que nous utiliserons pour faire nos graphiques et manipuler nos bases de données. Ces deux librairies de code sont axées sur les mêmes principes : plutôt que d’écrire du code cryptique pensé pour l’ordinateur, elles nous permettent d’écrire de façon naturelle et lisible les opérations que nous désirons effectuer sur nos données. Ils définissent des grammaires de manipulation des données et de création de graphiques.
J’utilise quotidiennement ces deux librairies de code et je ne saurais m’en passer. Je me sentirais mal de vous faire utiliser la façon de base, quand ce n’est pas celle que j’utilise au quotidien. J’ai souvent, par le passé, initié des gens à R à l’aide de ces deux librairies avec grand succès. Sachez néanmoins que cette approche est un peu controversée. Plusieurs prônent plutôt une maîtrise du langage de base avant de passer aux librairies de code additionnelles. Personnellement, dans le cadre d’un cours de statistiques au baccalauréat, je crois que l’accent devrait être mis sur la facilité. Sur une accumulation de petites victoires. J’espère que cette approche vous conviendra.
Troisièmement, j’appliquerai aussi cette approche de facilitation à la partie théorique. Je ne suis pas un mathématicien. Je suis biologiste, j’ai déjà été programmeur, j’ai suivi beaucoup de cours de statistiques (bac, maîtrise, doctorat, formations intensives, etc.), j’ai dépanné des tonnes de gens dans leurs analyses statistiques. Mon point de vue sera surtout celui d’un praticien. Je vous présenterai à l’occasion certaines formules mathématiques, lorsque ce sera nécessaire et pertinent, mais j’essaierai surtout de vous fournir l’intuition menant à la compréhension du concept. Je ne vous demanderai jamais de me réciter une formule par cœur. Mon but sera de m’assurer que vous soyez capables de discuter des concepts, verbalement, avec vos collègues et vos supérieurs.
1.5 Labo : Vos premiers pas dans R
Si vous lancez le logiciel RStudio, vous devriez voir une fenêtre qui ressemble à celle-ci :
Il y a évidemment beaucoup d’éléments dans cette fenêtre. Mais ce qui nous intéresse pour le moment, c’est la console. La console est l’endroit où vous pouvez entrer des commandes et en recevoir le résultat. Vous tapez le code de votre commande, vous appuyez sur Entrée (ENTER) et R vous répond. Essayez par exemple d’entrer ce code :
R devrait vous répondre :
[1] 2
Notez que le symbole “>” dans votre console indique que R est prêt à recevoir une commande. Si jamais la console ne vous présente pas le symbole “>”, appuyez sur la touche Échap (ESC) de votre clavier ou sur bouton “Stop” rouge dans l’interface de RStudio.
1.6 Options à changer
Bien que le logiciel RStudio soit un excellent logiciel, il y a quelques options pour lesquelles le choix des développeurs ne s’accorde pas directement avec les meilleures pratiques actuelles. C’est pourquoi je vous propose de changer 3 options pour vous faciliter la vie dans vos analyses. Ces options peuvent être trouvées dans le menu Outils > Options Globales (Tools > Global Options).
Tout d’abord, dans l’onglet Général, je vous propose de modifier les deux options suivantes :
Cela vous permettra d’avoir une session de R complètement propre/vide à redémarrage. Vous vous éviterez bien des ennuis de problèmes intermittants / non-reproductibles de cette façon.
Ensuite, dans l’onglet Code, je vous propose de cocher l’option permettant d’utiliser l’opérateur d’enchaînement (plus de détails à la Section 6.3) natif de R plutôt que celui de la librairie magrittr. Cette option est décochée par défaut pour éviter les problèmes de compatiblité avec les versions plus vieilles de R, mais comme vous débutez, cela ne devra pas poser de problème pour vous.
Voilà, vous êtes maintenant prêtes à vous attaquer à vos premières notions de visualisation de données!
https://besjournals.onlinelibrary.wiley.com/doi/full/10.1111/2041-210X.12624↩︎
https://hackernoon.com/which-programming-languages-have-the-happiest-and-angriest-commenters-ebe91b3852ed#.5j0qkm174↩︎
https://www.computerworld.com/article/3389684/r-community-blasts-datacamp-response-to-execs-inappropriate-behavior.html↩︎