登录
首页精彩阅读让R语言和Python共舞
让R语言和Python共舞
2017-04-08
收藏

R语言和Python共舞

Python和R已经成为数据分析中两大利器,两者各有所长,相互借鉴。

Python 的 pandas 从 R 中偷师 dataframes,R 中的 rvest 则借鉴了 Python 的 BeautifulSoup,我们可以看出两种语言在一定程度上存在的互补性。通常,我们认为 Python 比 R 在泛型编程上更有优势,而 R 在数据探索、统计分析是一种更高效的独立数据分析工具。所以说,同时学会Python和R这两把刷子才是数据科学的王道。本文将介绍R和Python的应用场景,同时介绍在Windows环境下如何安装R和Python的共舞通道——rpy2。

Python的应用场景

网络爬虫/抓取:尽管 rvest 已经让 R 的网络爬虫/抓取变得容易,但 Python 的 beautifulsoup 和 Scrapy 更加成熟、功能更强大,结合django-scrapy我们可以很快的构建一个定制化的爬虫管理系统。

连接数据库: R 提供了许多连接数据库的选择,但 Python 只用 sqlachemy 通过ORM的方式,一个包就解决了多种数据库连接的问题,且在生产环境中广泛使用。Python由于支持占位符操作,在拼接SQL语句时也更加方便。

内容管理系统:基于Django,Python可以快速通过ORM建立数据库、后台管理系统,而R中的 Shiny 的鉴权功能暂时还需要付费使用。

API构建:通过Tornado这个标准的网络处理库,Python也可以快速实现轻量级的API,而R则较为复杂。

R的应用场景

统计分析: 尽管 Python 里 Scipy、Pandas、statsmodels 提供了一系列统计工具 ,R 本身是专门为统计分析应用建立的,所以拥有更多此类工具,尤其是在计量经济学方面的包,是Python无法比拟的。

互动式图表/面板: 近来 bokeh、plotly、 intuitics 将 Python 的图形功能扩展到了网页浏览器,甚至我们可以用tornado+d3来进一步定制可视化页面,但 R 的 shiny 和 shiny dashboard 速度更快,所需代码更少。

如何实现R语言和Python的完美结合

Python和R共享文件,将Python清理好的数据储存成cvs等格式,再交给R进行进一步的回归分析和图表绘制等。

让Python直接调用R函数;目前可以通过第三方库——rpy2实现R语言和Python的互通。

显然第二种方法可行性较高,但是windows环境下,rpy2的安装经常报错,我之前在安装rpy2时遇到了无数的坑,所以将经验共享给大家。

数据分析咨询请扫描二维码

客服在线
立即咨询