R vs Python
Définitions

R ou Python: le combat

On me pose souvent la question: pourquoi avoir commencé à apprendre Python plutôt que R?

A la base, je n’ai pas de réponse, si ce n’est le hasard, puisque j’ai commencé à apprendre Python grâce à Codecademy. Et il semblerait que ce soit difficile d’apprendre les deux en parallèle…

Mais les deux s’opposent-ils vraiment? Choisir, c’est renoncer, alors à quoi devons-nous renoncer exactement?

Note1: on se place ici dans une perspective Analyse de données.
Note2: Ce post est une synthèse des avis rédigés sur le sujet que j’ai pu glaner, je n’ai pas la prétention de donner mon avis, étant débutante, et n’ayant surtout pas encore mis les mains sous le capot de R!

 

Qu’est-ce que R?

R est un langage initialement créé par des statisticiens et conçu pour de l’analyse statistique. Il est donc naturellement orienté data analysis. Cela se concrétise notamment par des fonctions statistiques plus étendues.

Sa syntaxe est matricielle donc plus simple pour des problématiques de mathématiques faisant appel à des vecteurs ou des matrices.

R est OpenSource, ce qui signifie notamment qu’il bénéficie d’une plus large communauté (donc davantage d’échanges avec des spécialistes), et propose des packages déjà codés (il est donc rare que vous ne trouviez pas une réponse toute prête à votre problématique statistique).

Il semblerait que R dispose de fonctionnalité graphiques avancées, notamment avec la librairie ggplot2:

Librarie ggplot2

En synthèse, R est un langage plutôt de niche, comparé à Python, plus généraliste.

 

Qu’est-ce que Python?

Sous-entendu dans le cadre de notre analyse: Python avec les packages numpy et scipy installés qui sont des packages de fonctions additionnelles.

Python est davantage utilisé pour les programmes classiques. C’est un langage de programmation plus large, pour le scripting d’un site web par exemple. La communauté de statisticiens est ici assez faible.

C’est un langage réputé intelligible (les termes sont écrits en entier donc plus facilement compréhensibles, et la logique d’indentation de la syntaxe est assez lisible) et donc facile à apprendre. On notera la facilité de lecture d’un code python par des javaistes.

C’est un langage facilement scallable (entendez que l’on peut facilement passer sur de larges volumes de données), et semble être plus performant en termes de temps de traitement que R.

Enfin, pour être pragmatique, il y aurait davantage de job postings demandant des compétences confirmées en Python qu’en R!

Alors en bref?

Code Python

 

Et pourquoi ne pas utiliser les deux? Il existe en effet une extension des fonctions de R que l’on peut installer dans Python via le module RPy module. Cela permettrait de réconcilier les deux clans?

Sources:
Article Revolution analytics.com
Forum de discussion
Article ReadWrite.com
Article Quora

Previous Post Next Post

You Might Also Like

2 Comments

  • Reply Simon .B 21 octobre 2015 at 13 h 03 min

    Salut Marjolaine, je suis également très intéressé par la question car je vais bientôt commencer à apprendre un des deux langages (je n’ai encore aucune compétences ).

    J’ai trouvé un super article sur le sujet (en Anglais, mais très compréhensible) : http://blog.datacamp.com/r-or-python-for-data-analysis/
    Mais je suis toujours indécis même après l’avoir lu.

    Je trouve ton blog très intéressant, moi qui m’intéresse de très près à la datascience depuis peu, c’est une aubaine 😉
    J’ai évidemment pleins de questions sur le sujet, car tu as l’air beaucoup plus calé que moi.
    (J’aime également la photographie… étrange corrélation)

  • Reply vincent 18 février 2017 at 23 h 36 min

    R va plutot interesser les statisciens de « metier » et python ravira les informaticiens de formation. j’ai commencé par python avant que ca ne soit utilisé en data science, aujourd’hui je maitrise parfaitement R.
    Dans tous les cas je ne crois pas qu’il y ait de mauvais choix a faire entre les 2 :)

  • Leave a Reply