近年来,一方面,民间对Python与R的对比分析“如火如荼”,给人感觉是“你死我活”;另一方面,业界开始探讨Python和R的集成应用,好像是“你中有我,我中有你”。
最具代表性的是Wickham(R领袖)和 McKinney (Python领袖)都在主张这两种语言的融合式发展。用Wickham的话讲,未来,不是“Python vs R”,而是“Python and R”。例如,2018年,McKinney的Ursa Labs公布——即将与Wickham 的RStudio合作,致力于改进R和Python语言本身及其用户体验。
R领袖Wickham(左)和Python领袖McKinney(右)[1]
显然,他俩讨论的是未来的愿景。那么,就目前而言,我们有没有可能集成运用(或交叉应用)Python和R的可能?答案是“可以”,主要途径有三个:
在Python中调用R代码——用面向R的Python包,如:rpy2,pyRserve,Rpython,...(rpy2扩展使下面的Jupyter成为可能)
在R中调用Python代码——用面向Python的R包,如:rPython,PythonInR,reticulate,rJython,SnakeCharmR,XRPython
用Jupyter——安装两种语言的内核即可。
接下来,我们以Jupyter Notebook为例,解释R与Python的集成应用。
接着,可以用%%R -i df,将Python中的Pandas数据框自动转换成R数据框。
注:以上代码来自文献[3],源代可以下载,URL为https://blog.usejournal.com/python-vs-and-r-for-data-science-833b48ccc91d。
参考文献.
[1]Wes McKinney on Twitter.https://twitter.com/wesmckinn/status/69 530432
[2]URSA LABS.R and Python are joining forces, in the most ambitious crossover event of the year—for programmers.https://qz.com/1270139/r-and-python-are-joining-forces-in-the-most-ambitious-crossover-event-of-the-year-for-programmers/
[3]Brian Ray.Python vs (and) R for Data Science.https://blog.usejournal.com/python-vs-and-r-for-data-science-833b48ccc91d
[4]http://www.businessinsider.com/how-world-leaders-are-reacting-to-trump-kim-summit-south-korea-japan-uk-more-2018-6
领取专属 10元无门槛券
私享最新 技术干货