首頁  >  文章  >  後端開發  >  R和Python誰比較好?

R和Python誰比較好?

little bottle
little bottle轉載
2019-04-09 16:06:593322瀏覽

如果你從事在資料科學領域,提到程式語言,一定能馬上想到R 語言和Python語言如果你在Google 中搜尋「R vs Python ”,可以看到很多關於二者誰更好的討論,但其實無論是R 還是Python,兩個都是很優秀的工具。


R和Python誰比較好?      

這種現象的原因之一是,使用者是基於自己所使用的程式語言,將資料科學領域分為幾個陣營,包括R 陣營和Python 陣營。兩個陣營的人都十分相信自己選擇的語言遠勝於對方的。所以在某種程度上,這種分歧並不全來自於工具本身,也有來自使用者的原因。


為什麼不同時會使用兩種語言?


其實,在資料科學的圈子裡,也存在同時使用 Python 和 R 的人,但比例是非常小。另外,有一大部分堅持使用某種語言的人,同時也希望能掌握另一種語言的某些功能。例如,R 的使用者有時候很需要 Python 的物件導向屬性,同時,有些 Python 使用者也想使用 R 強大的統計分佈功能。


R和Python誰比較好?      

上圖顯示了由 Red Monk 在 2018 年第三季所進行的調查的結果。此結果是基於 Stack Overflow 和 Github 上語言的受歡迎程度,很明顯 R 和 Python 的得分都很高。從語言本身來說,並不是限制我們不能在同一專案中使用兩者的原因。而我們的最終目標要做更有洞見、有價值的分析,而選擇哪一種語言不應該成為這個過程中的阻礙。


綜觀R 與Python


下面我們可以先從幾個不同面向來比較這兩種語言,分別看看它們的優缺點。


R和Python誰比較好?      





  • ###############################################################。 ################Python#################################自1991 年發布以來,Python 就極為受歡迎,尤其在資料處理方面已被廣泛應用。它如此受歡迎有以下幾個原因:############################物件導向語言########## ##############通用性#######
  • 可擴展性強,強大的社群支持

  • 易於理解和學習

  • Pandas、Numpy 和Scikit-learn 等套件使Python 成為機器學習的絕佳選擇


然而,與R 不同的是,Python 沒有用於統計計算的專用套件。


R和Python誰比較好?      






########################。 ################R########################################## R 首次發佈於1995 年,隨即成為資料科學領域應用最廣的工具之一。 ###########################幾乎包含你能想到的任何一種統計應用程式工具包。目前 CRAN 有超過 10 萬個套件。 ########################有極佳的視覺化工具包,如 ggplot2。 #########################能夠進行獨立分析。 #####################

從效能上來說,R 並不是速度最快的語言,而且在處理大型資料集時,可能對記憶體消耗較大。


「雙劍合璧」






########################################## #########是否可以同時運用R 超凡的統計能力和Python 的程式設計能力呢?我們可以輕鬆地將 SQL 程式碼與 R 或 Python 結合寫成一個腳本,為什麼不把 R 和 Python 也結合一起使用呢? #####################將Python 與R 同時應用在同一個專案中,有兩個基本的手段,接下來就和大家分享這兩個方法:###############################R within Python################ #################PypeR##############################PypeR 提供了一種可以讓R 連接Python 的簡單途徑,即透過管道(pipe)。 PypeR 也存在於 Python 的工具包之中,提供了更方便的安裝方式。當 Python 和 R 之間不需要頻繁進行資料傳輸時,PypeR 非常適用。當我們透過管道運行 R 時,Python 程式在子流程控制、記憶體控制和跨作業系統(包括 Windows、GNU Linux 和 Mac OS)移植的彈性度都比較高。 ######


R和Python誰比較好?

     

  • ##pyRserve


pyRserve 使用 Rserve 作為RPC 的連接網關,透過這種連接方式,使用者可以在Python 中設定R 的變量,同時R 的函數也可以被遠端呼叫。


  • #rpy2


ryp2 可以在Python 進程中執行內嵌的R 語言。它創建了一個框架,可以將 Python 物件轉換為 R 對象,再把它們傳入 R 函數,最後將 R 輸出的結果傳回給 Python 物件。


R和Python誰比較好?      

##

在 Python 中呼叫 R 語言的優點之一是,我們可以在 Python 中方便地使用 R 語言強大的工具包,如 ggplot2、tidyr、dplyr 等。下面我們透過一個簡單的範例來看看如何在 Python 中使用 ggplot2。


  • Basic Plot


R和Python誰比較好?


R和Python誰比較好?


##  

R和Python誰比較好?    https://rpy2.github.io/doc/latest/html/graphics .html#plot

######################### ###   ############  #### #################Geometry################################ #     ######https://rpy2.github.io/doc/latest/html/graphics.html#geometry#######


R和Python誰比較好?

     

關於 rpy2 的資料

#rpy2官方文件

#https://rpy2.github.io/doc/latest/html/index. html html

RPy2:結合 R Python 的力量進行資料科學:

##https ://community.alteryx.com/t5/Data-Science-Blog/RPy2-Combining-the-Power-of-R-Python-for-Data-Science/ba-p/138432

#使用RPy2 從Python 訪問R:

#https://www.r-bloggers.com/accessing-r -from-python-using-rpy2/


##Python 與R


#

我們可以透過以下幾個工具在Python 中執行R 語言的腳本:


  • rJython


該工具包透過Jython 部署了連接Python 的介面,提供了將Python 與R 連通的介面。


  • rPython


rPython 也是一個在R 語言中調用Python 的工具包,它可以在R 中運行Python 程式碼,進行函數的調用,以及變數的分配和獲取等。


  • SnakeCharmR


SnakeCharmR 是改良版的rPython,它源自於rPython 的'jsonlite'分支,相較於rPython 有諸多提升。


  • PythonInR


PythonInR 可以讓使用者非常方便地在 R 語言中使用 Python,提供了可與 Python 互動的函數。


  • #reticulate


Reticulate 套件提供了一整套可使Python 與R 互相操作的工具。在所有上面所提到的工具中,這個使用最為廣泛,大部分原因在於它是由 Rstudio 主導開發的。 Reticulate 在 R 模組中內嵌了 Python 模組,使兩種語言可以無縫且高效能地相互操作。使用該工具包,我們可以把 Python 程式碼 “編織” 進 R 語言中,創造了一種將兩種語言結合的新型項目。


R和Python誰比較好?      



  • #######################################################################################。 #Reticulate 套件提供了以下功能:############################提供多種在R 語言中呼叫Python 的方式,包括R Markdown 、導入Python 腳本、引入Python 模組,以及在R 模組中使用Python。 ########################提供R 物件與Python 物件間的相互轉換(例如,R 與Pandas 資料框的轉換,或R 矩陣與NumPy數組的轉換)。 ########################可與不同版本的 Python 進行靈活的合作,包括虛擬環境和 Conda 環境。 ######


關於reticulate 工具包的資源:

##該文件提供了許多實例來幫助你入門:

https://rstudio.github.io/reticulate/

使用reticulate 套件,在R 語言中使用Python:

https://longhowlam.wordpress.com/2017/04 /10/test-driving-python-integration-in-r-using-the-reticulate-package/

工具包中的「蛇」:用reticulate 將Python 與R 連結:

https://www.mango-solutions.com/blog/snakes-in-a-package-combining-python -and-r-with-reticulate



###################################################### ################R 和Python 都是完整且穩定的語言,都足以完成一項資料分析任務。雖然二者均存在一些各自的優劣勢,如果能利用好它們的優點,我們就能更好地完成任務。總之,同時掌握兩種語言會使我們更加靈活,從而在多種環境下自如地工作。 ######

【推薦課程:Python影片教學

以上是R和Python誰比較好?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除