Il était une fois R

Cet article décrit les différentes alternatives logicielles qui s’offrent pour réaliser des analyses, et pourquoi R devrait être préféré.

Dans des temps ancestraux, le monde des statistiques en Sciences Humaines était divisé en quatre grands royaumes : le royaume statistica, le royaume SPSS, le royaume SAS, et le royaume stata. Dans ce monde des puissants, chaque habitant (utilisateur) qui voulait pouvoir bénéficier de la bienveillance de leur roi devait payer une dime (le prix de la licence). Celle-ci était plus ou moins élevée mais tout de même particulièrement contraignante lorsque les revenus venaient à manquer (bref trop cher pour des étudiants et/ou pour de nombreux laboratoires de recherche).

Certains rois étaient connus pour être plus joyeux et conviviaux que d’autres (statistica et SPSS avec leur interface graphique plutôt que d’utiliser des lignes de commande) alors que d’autres étaient froids mais plus permissifs (stata et SAS). Néanmoins, la plupart de ces rois n’était pas très ouvert à la diversité et à l’ouverture et n’accordait pas leur protection à n’importe quel manant (si tu es un utilisateur mac, pas de SAS, pas de statistica).

De tous ces rois, SAS était le plus puissant (bref, c’était la référence). Il offrait beaucoup d’emplois à ses sujets, qui, en retour, le lui rendait bien (quand on voit le prix de la licence, on comprend pourquoi) !

Chacun de ces rois avait sa manière de diriger son royaume, chacun avait ses fidèles sujets et tous vivaient relativement en paix vu qu’ils n’avaient pas réellement d’affinités pour les sujets des autres royaumes (écrire des lignes de commandes n’est pas un fonctionnement recherché par un utilisateur qui veut une interface graphique). Bien sûr, il existait bien des comtés indépendants mais qui étaient tellement marginaux qu’ils ne risquaient pas d’inquiéter ces rois puissants.

Pourtant, dans une contrée reculée, un prince commençait à grandir. Non seulement, il semblait irréductible, mais s’imposait de plus en plus aux personnes qui le côtoyait. Ce roi en devenir s’appelait R. Il était bon envers ses sujets et ne demandait rien en échange de sa protection (la joie de l’open source et des logiciels gratuits). En revanche, il se montrait particulièrement rigide sur la forme. Il n’accordait ses requêtes qu’aux fidèles qui respectaient scrupuleusement le protocole (par l’utilisation de lignes de commandes qui nécessitent une long apprentissage et qui est très sensible à la moindre petite erreur). Cette bienveillance un peu rustre refroidit beaucoup de ceux qui n’étaient pas disposés à mettre les formes alors qu’ils ne l’avaient jamais fait jusque-là (pourquoi comprendre quand on peut cliquer ?). Certains reprochaient aussi à ce nouveau roi d’être particulièrement peu prompt à s’exécuter (la lenteur de R a souvent été soulignée), d’avoir du mal à intégrer beaucoup d’informations en même temps (la gestion de très grosses bases de données était également une de ses limites) et difficile à lire (les sorties de résultats ne sont pas toujours très limpides). Beaucoup lui reprochaient aussi d’être un peu paresseux : il ne faisait rien de plus que ce qu’on lui demandait alors que les autres rois offraient une certaine flexibilité en proposant avec facilité l’accessibilité à des avantages annexes (les sorties de résultats sont complètes, ou peuvent être complétées assez aisément dans les autres logiciels). Mais le prince était ouvert à la critique et corrigea progressivement ses défauts. Il accueillait les suggestions et les remarques avec beaucoup d’intérêt car il était persuadé que l’avis de chacun pouvait lui permettre de progresser (c’est les packages que chacun peut écrire et par lesquels R est riche de fonctionnalités non disponibles dans les autres logiciels). Ce prince corrigea alors ses défauts : il devint de plus en plus rapide (notamment par l’utilisation de multicoeurs des ordinateurs, et par la combinaison avec d’autres langage de programmation considérés comme plus rapides) et mit à la disposition du plus petit de ses sujets toute une panoplie d’outils. Il suffisait d’en faire  la requête. Cette panoplie était si large qu’elle surpassait largement l’ensemble des offres proposées par les autres rois. Ainsi, le prince devint un roi. Il offrit beaucoup d’emplois à ses sujets et continua à accueillir avec bienveillance tout le monde, qu’importe ses origines (windows, mac, linux).

Ce nouveau roi était apprécié pour son honnêteté et la transparence de ses décisions (vous pourrez regarder le code des fonctions puisqu’il est ouvert, ce qui permet à chacun de savoir exactement ce qui est fait en termes de calcul, et il est possible de partager ses lignes de commandes ce qui favorise la transparence sur les analyses qui ont été menées). A l’affût des conseils, il écoutait avec attention, les suggestions qui lui étaient faites (les bugs sont fixés rapidement grâce à une large communauté active, et chaque utilisateur peut contribuer à l’enrichissement des possibilités de R par l’écriture de packages, permettant ainsi de pouvoir bénéficier des méthodes les plus avancées et les plus récentes pour analyser les données).

Ce roi aimait que les sujets de son peuple collaborent entre eux, et il encourageait chacun à mettre à disposition des autres le fruit de leur travail (les packages que tout un chacun peut écrire). Personne n’était inutile. Chacun avait sa tâche dans cette grande entreprise (les personnes qui n’écrivent pas les packages peuvent aisément signaler aux personnes qui les écrivent des bugs qu’ils identifient, permettant ainsi de les corriger rapidement). Et finalement, dans un monde où le chacun pour soi avait un peu pris le pas sur la collaboration, ce nouveau roi changea la donne : alors qu’on lui répétait qu’il était impossible que ses sujets deviennent une grande communauté collaborative, il ignora cette impossibilité et créa une gigantesque communauté où chaque individu se plaisait à collaborer avec les autres.

Avec tous les conseils qu’il reçut, R était en mesure de réaliser les souhaits de chacun, de la plus petite des demandes (les statistiques descriptives) aux plus élaborées (comme la modélisation d’équation structurales). Il se montrait très complet dans ses compétences (R fait toutes les analyses, il n’est donc pas nécessaire de disposer de plusieurs logiciels). Il pouvait gérer les masses (gestion de bases de données), favoriser les talents artistiques de ses sujets  (faire de jolis graphiques, y compris en 3D et dynamiques). Tout était possible, ou presque (il ne prépare le café que si la machine est connectée à internet – non, je déconne … quoique). Ouvert d’esprit, il acceptait les différentes manières de penser (il est possible de réaliser les tests d’hypothèses nulles et les statistiques bayesiennes) et accordait à chacun une grande liberté d’expression (possibilité d’exporter les sorties de résultats en pdf, latex, word, html).

R, qui était indépendant, laissa son empire grandir en laissant les sujets des autres rois les désavouer avant de se rallier à sa cause. Les autres rois constataient l’ombre que ce nouveau venu jetait sur leur superbe. Ils voulurent d’abord se révolter, mais ils eurent vite fait de se faire une raison : ils ne pourraient pas arrêter la progression et le pouvoir de ce roi qui ne cessait de devenir plus puissant que chacun d’entre eux. Face à ce constat d’échec, chacun proposa au nouveau venu de s’allier avec lui (les autres logiciels ont intégré un module permettant d’intégrer R à leur logiciel). Et comme R était favorable aux collaboration pacifiques, il accepta. Les autres rois ne se doutaient peut-être pas alors que cela ne ferait qu’ajouter de nouveaux fidèles à ce nouveau venu. Ces anciens rois ne se doutaient certainement pas à ce moment-là qu’ils finiraient par péricliter et par complètement disparaitre parce que leur raison d’être ne serait plus.

Néanmoins, un des défauts de ce nouveau R perdurait : son exigence sur le protocole dans la formulation des demandes était une demande particulièrement contraignante pour beaucoup. Bien sûr, de loyaux serviteurs (les auteurs de packages) voulant présenter leur nouveau roi sous son meilleur jour ont bien proposé des traducteurs  permettant d’utiliser à bon escient le protocole (les interfaces graphiques telles que Rcmdr qui est la plus connue), mais la panoplie de ses outils était trop restreinte pour convaincre les plus récalcitrants.

Un jour,  un nouveau et loyal serviteur se présenta au roi. Ce serviteur s’appelait easieR. easieR avait beaucoup voyagé dans les différents royaumes et connaissait les différents rois. Il décida donc de se mettre au service des sujets qui éprouvaient les difficultés dans la formulation du protocole de les aider à traduire les requêtes qu’ils avaient l’habitude de réaliser avec les autres rois, tout en leur permettant d’obtenir aisément l’ensemble des services (les sorties de résultats) qu’ils avaient l’habitude d’obtenir quand ils étaient sous la protection des autres rois. Le roi R accepta avec enthousiasme sa dévotion.

C’est ainsi que le roi qu’on appelait R grandit. Il vécut heureux, et easieR, son serviteur, continua à prospérer et à clamer les faits d’armes de son roi qui ne cessait de gagner des batailles contre les autres rois, qui tombèrent en désuétude.

De cette histoire, voici ce qu’il faut retenir :

  • R est gratuit.
  • R est compatible avec l’ensemble des systèmes d’exploitation.
  • R est un langage de programmation pour lequel il existe de nombreuses offres d’emploi. Selon l’IEEE (2016), R est le cinquième langage de programmation le plus demandé dans les offres d’emploi alors qu’il est spécifiquement dédié au traitement de données. Enseigner R rendra donc les étudiants compétitifs sur le marché du travail et connaitre R permet de s’ouvrir des opportunités d’emploi. Cette constatation est aussi vraie dans le monde académique. Par exemple, l’Association for Psychological Science (APS, une des plus grosse association en psychologie scientifique) encourage l’utilisation de R (Weston & Yee, 2017)
  • Cet engouement s’explique par le fait que R propose 150 fois plus de fonctionnalités qu’un logiciel comme SAS par exemple (Muenchen, 2015). Ceci est possible par la contribution de nombreux utilisateurs qui écrivent des packages (parfois très spécifiques, parfois beaucoup plus généraux). On comprend dès lors aisément qu’avec 150 fois plus de fonctions que les autres logiciels de « référence », il est possible de mener une multitude d’analyses, avec un éventail de possibilités bien plus important.
  • Le rôle qu’a pris R dans l’analyse de données est tel que la comparaison avec SAS a été faite au sein même du forum SAS (Lofland & Ottensen, 2013). Pour comprendre l’ampleur et l’intérêt de R, les logiciels payants ont développé des outils d’intégration de R dans leur propre logiciel. Vous pouvez les retrouver ici, ici et ici. La question naïve est donc : pourquoi payer pour un logiciel gratuit ?
  • easieR est un outil qui a pour vocation de se développer et représente un moyen efficace pour débuter avec R sans être confronté à la difficulté de l’apprentissage des lignes de commandes. Il permet d’être autonome en très peu de temps (environ 2h) et permet de réaliser les analyses les plus courantes qu’on peut réaliser avec les autres logiciels possédant une interface graphique.

Alors, maintenant, vous n’avez plus d’excuse pour ne pas utiliser R, alors suivez le guide pour l’installation.

Continuez avec les inavouables raisons d’un cours de statistiques.

Références

IEEE (2016). The 2016 top programming languages. Retrieved from: http://spectrum.ieee.org/computing/software/the-2016-top-programming-languages

Lofland, C.L., & Ottesen, R. (2013). The SAS® Versus R Debate in Industry and Academia. SAS Global forum, 348-2013. Retrieved from http://support.sas.com/resources/papers/proceedings13/348-2013.pdf

Muenchen, B. (2015). r-now-contains-150-times-as-many-commands-as-sa. Retrieved from http://r4stats.com/2015/05/22/r-now-contains-150-times-as-many-commands-as-sas/
Weston, S.J. & Yee, D. (2017). Why you should become a useR: A brief introduction to R. Observer: Methodology Madness, pp 18-19. Retrieved from https://www.psychologicalscience.org/observer/why-you-should-become-a-user-a-brief-introduction-to-r#.WRL5YsakLIW