Our company (artiste-qb.net) has been publishing software written mostly in Python. The Python ecosystem includes a very nice statistical package called Pandas, whose authors profess much love for R and unabashedly admit that they were trying to copy the best of R’s statistical functionality and bring it to Python users. This is fine and good, but is not enough, is it?
R has been around for a long time (since 1993 according to Wikipedia), and during that time it has managed to accumulate a formidable number of highly useful extension packages and a very large and passionately committed community of fans. As good as Pandas is, it would be a pity and outright foolish if our company and others in the same boat ignored R’s rich libraries and numerous users.
So I was elated when Tao Yin, a member of our company, introduced our company members to rpy2 and its extension Rmagic. Rmagic allows one to invoke R functions inside a Jupyter notebook running with a Python kernel. So in a single Jupyter notebook, you can call both Python functions and R functions in the same cell, or have some cells running just R and others running just Python. And of course, variables can be exchanged easily between R and Python within that notebook. So we are all R now. And Python too.
I’ve only known about Rmagic for about a week so I’m a newbie at it. Fortunately, even though rpy2/Rmagic is very sophisticated software under the hood, it’s API (Application Programming Interface) is quite simple and intuitive. I wrote a Jupyter notebook called “Rmagic for dummies” that I hope will convince you that Rmagic is very powerful yet easy to use.