What does Python offer that R can't?

rogojel

TS Contributor
#1
Hi,
I am looking at Coursera data anlysis specializations and most (basically all except John Hopkins) offer Python as the language of choice for their courses. I really like R but I started to wonder if I am missing something? I just see no advantages in Python for data analysis, that would compensate for the wealth of libraries and implementations in R - any reason why people would offer courses in that language instead R?
 

TheEcologist

Global Moderator
#2
To me it's more a question of which field you are, R is super for academia and when you need sophisticated analysis and a community of support that basically all are academics doing science. Python is a full fledged programming language so it is much broader and the community is much much broader orientated (app, web applications, software development), thus if you are only interested in work that leans heavily on the statistical side R is a more natural choice.

That said, large coding projects, that need test driven development (TDD) or "literate programming" should steer away from R, because proper programming hasn't really seen much development within R (it's in it's infancy) - I guess mostly because any software project in R is tiny (maybe even microscopic) compared to some of the projects being coded up in the other languages.

This says much more than I can:

 
#4
What does Python offer that R can't?
  • Ease of learning for beginners.
  • Graphical user interfaces.
  • Sorted libraries instead of uncontrolled package rank growth.
  • THOUSANDS more API interfaces to other applications, e.g. Webserver, Nvidia CUDA, ...
  • Future safety. Python will still be serviced for decades.
  • Summarizing, good numerical production system properties (would have very good production system properties, when additionally providing out-of-the-box parallelisation, but Guido van Rossum thinks, that would be premature until an average CPU has at least 128 cores. However, a lot of Python libraries already use parallelisation from C(ython)-Code).

For fairness. What does R offer that Python can't?
  • Very ease of learning for beginners.
  • THOUSANDS more statistical procedures.
  • Out-of-the-box numerical support (Language wide standards for dataframe, vectorized computing, numerical operators, Missings, ...).
  • Out-of-the-box parallelisation (Computing on all CPU cores right from the beginning).
  • Easy IDE environment (R-Studio).
  • Easy install on Windows, Linux and OS-X.
  • Summarizing, currently unbeatable statistical prototyping properties.
 
Last edited: