Python&R語言-rpy2簡介


前言

  R(又稱R語言)是一款開源的跨平台的數值統計和數值圖形化展現工具。rpy2是Python直接調用R的第三方庫,它可以實現使用python讀取R的對象、調用R的方法以及Python與R數據結構轉換等。


目錄

  • 1.R和Python如何一起工作?

  • 2.RPy2: 架起R語言與Python之間的橋梁


1. R和Python如何一起工作?

  1. R和Python只共享文件,Python把源數據處理干凈,生成格式化的文件放在預定的目錄下,做個定時器讓R去讀文件,最終輸出統計結果和圖表。
這種做法一定程度上可行,除了做定時器外,還可以讓Python即時執行”rscript”命令調用R腳本來工作,只是這種辦法限制太大,只能夠交換文件,Python不能對R進行精確的控制。

  2. 讓Python直接調用R的函數,R是開源項目,肯定會有一些第三方庫實現Python與R互通。
果然,我找到了rpy2,可以實現使用python讀取R的對象、調用R的方法以及Python與R數據結構轉換等。實際上除了Python,其他語言與R互通的第三方包也大大的有。

  最后我選擇第2種方法,來讓R與Python共舞。模塊 rpy2.robjects 是rpy2對R的一個高級封裝,該模塊里包含了一個r對象和一系列的R數據結構。使用rpy2的大多數情況,只需要跟這個模塊打交道即可。rpy2的安裝 在此不多講了,有興趣的同學看文檔去,直接體驗一下R如何與Python無縫整合吧。

2. RPy2: 架起R語言與Python之間的橋梁

  Pandas是Python的數據分析庫,目前它已經有很多相同功能,但是RPy2創造了一條很好的從R語言到Python的遷移路線,它讓你在學習Python的時候,把R語言作為一個附屬部分來學習,對於很多有豐富實驗開發經驗的分析師會使用R語言,當他們想把算法融入一個Python應用程序,並分發給用戶時,他們也可以使用RPy2。

  執行這種遷移的能力,而不離開R語言的概念模型是很有價值的,但從另一個角度來說,這也是一個限制,能夠使用一個真正的通用編程語言,如:Python,來包裝概念模型,並使得這個用戶友好的應用程序有多種復雜的附加功能(打印,網絡,USB支持,等等)是至關重要的。

  舉例來說,我已經使用了這種方法來創建讀取傳感器數據的Python應用,通過RPy2處理,以各種方式顯示給客戶,我不知道怎么用R語言讀取傳感器數據,應該是有某種方法的。而Python已經做好了我需要的模塊,即使沒有也非常容易擴展。

  如果你還不知道R語言,我推薦你學習Python並且使用RPy2來訪問R語言的函數。你學習一種語言獲得了兩種能力。一旦你學習過RPy,再轉到純R語言也不是什么大問題,但是,你想要反過來就沒那么容易了。


參考資料


分享時刻:

  • 據說喜歡分享的,后來都成了大神。

  • 學會適應,讓你的環境變的明亮;學會寬容,讓你的生活沒有煩惱;學會奉獻,讓你的生活充滿陽光。其實天很藍,陰雲總要散;其實海不寬,彼岸連此岸;其實夢很淺,萬物皆自然;其實淚也甜,當你心如願。用情感看世界是一場悲劇,用理智看才是一場喜劇!



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM