在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

R和Python到底誰更好如何將Python與R同時應用在同一個項目

電子工程師 ? 來源:未知 ? 2019-03-17 10:35 ? 次閱讀

如果你從事在數據科學領域,提到編程語言,一定能馬上想到 R 語言和 Python語言(以下分別簡稱 R、Python)。現在更多時候大家都把它們兩個放在一起對比,進行“二選一”,而不是把兩個都為自己所用。其實,無論是 R 還是 Python,兩個都是很優秀的工具。

如果你在 Google 中搜索“R vs Python”,可以看到很多關于二者誰更好的討論。

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

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

其實,在數據科學的圈子里,也存在同時使用 Python 和 R 的人,但比例是非常小。另外,有一大部分堅持使用某一種語言的人,同時也希望能掌握另一種語言的某些功能。比如,R 的使用者有時候很需要 Python 的面向對象屬性,與此同時,一些 Python 用戶也想使用 R 強大的統計分布功能。

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

縱觀 R 和 Python

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

Python

自 1991 年發布以來,Python 就極其受歡迎,尤其在數據處理方面被廣泛應用。它如此受歡迎有以下幾個原因:

面向對象語言

通用性

可擴展性強,強大的社區支持

易于理解和學習

Pandas、Numpy 和 Scikit-learn 等包使 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)移植的靈活度都比較高。

pyRserve

pyRserve 使用Rserve作為 RPC 的連接網關,通過這種連接方式,用戶可以在 Python 中設置 R 的變量,同時 R 的函數也可以被遠程調用。

rpy2

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

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

Basic Plot

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

Geometry

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

關于 rpy2 的資料

rpy2官方文檔

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

RPy2: Combining the Power of R + Python for Data Science:

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

Accessing R from Python using RPy2:

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

Python with 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 語言中,創造了一種將兩種語言相結合的新型項目。

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

原文鏈接:

https://towardsdatascience.com/from-r-vs-python-to-r-and-python-aa25db33ce17?gi=da69b4bfd654

(本文為AI科技大本營轉載文章,轉載請微信聯系 1092722531)

精彩推薦

4月13-14日,CSDN將在北京主辦“Python開發者日(2019)”,匯聚十余位來自阿里巴巴、IBM、英偉達等國內外一線科技公司的Python技術專家,還有數百位來自各行業領域的Python開發者,共同探討Python在不同場景下的的應用優勢和實戰經驗。即刻掃碼搶購早鳥票,限量發售!

推薦薦閱讀:

Google又逆天:語音輸入離線實時輸出文字,僅占80MB!然而……

西工大開源擁擠人群數據集生成工具,大幅提升算法精度 | CVPR 2019

R和Python誰更好?這此讓你「魚與熊掌」兼得

10行Python,搭建一個游戲AI | 視頻教程

Node.jsJavaScript 基金會正式合并,JS 喜提新主場

云計算時代運維的出路在哪?

30歲的萬維網活不長了! 蒂姆·伯納斯·李要借去中心化親手殺死它, 你再也不用擔心...

互聯網***親歷者:那些陣痛、掙扎與去向

沒有一個人,能躲過程序員的誘惑!

?點擊“閱讀原文”,查看歷史精彩文章。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • SQL
    SQL
    +關注

    關注

    1

    文章

    764

    瀏覽量

    44130
  • 數據處理
    +關注

    關注

    0

    文章

    599

    瀏覽量

    28568
  • python
    +關注

    關注

    56

    文章

    4797

    瀏覽量

    84688

原文標題:R和Python誰更好?這次讓你「魚與熊掌」兼得

文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于Python腳本的R語言的函數

    本文介紹了采用創建Python腳本,用該腳本模仿R風格的函數的方法來方便地進行統計。 是用R語言還是用
    的頭像 發表于 10-12 09:33 ?2111次閱讀
    基于<b class='flag-5'>Python</b>腳本的<b class='flag-5'>R</b>語言的函數

    【WRTnode2R試用體驗】安裝python

    繼《初識WRTnode2R》之后,應項目需求,安裝pythonpython的安裝分為3步。第步,在make menuconfig時選中核
    發表于 11-09 20:22

    Python編程語言可以應用在哪些方面?

    萬行以上的項目,而且能夠很好的把網游項目的規模控制在10萬行代碼以內。10. 桌面軟件Python在圖形界面開發上很強大,可以用tkinter/PyQT框架開發各種桌面軟件!以上是Python
    發表于 02-05 17:50

    Python中is與==判斷的區別

    Python代碼。首先,我們創建新的列表對象并將其命名為a,然后定義另一個變量b指向同一
    發表于 06-20 17:11

    如何將信號映射到同一個引腳?

    。對于第二核心,我輸入/輸出連接到外部端口。在ucf文件中,我第二核心的網絡添加到與第一個核心網絡相同的引腳位置。這是我的問題。我不
    發表于 04-06 07:22

    我沒學過編程,能否學會Python

    差異極大,最后都得“翻譯”成CPU可以執行的機器指令。而不同的編程語言,干同一個活,編寫的代碼量,差距也很大。比如,完成同一個任務,C語言要寫1000行代碼,Java只需要寫100行,而Python可能
    發表于 07-14 14:49

    我沒學過編程,能否學會Python

    差異極大,最后都得“翻譯”成CPU可以執行的機器指令。而不同的編程語言,干同一個活,編寫的代碼量,差距也很大。比如,完成同一個任務,C語言要寫1000行代碼,Java只需要寫100行,而Python可能
    發表于 07-25 10:21

    r語言中有哪些取整運算_pythonr語言的區別對比_pythonr語言哪個好

    分析比較這兩種語言到底哪個好,得看你的用途。R主要在學術界流行,python在工程方便比較實用。我的觀點如下
    發表于 01-05 15:32 ?3392次閱讀

    精選10Python開源項目

    過去一個月里,我們對近 250 Python 開源項目進行了排名,并挑選出熱度前 10 的項目
    的頭像 發表于 11-12 09:47 ?6331次閱讀

    為什么在數據科學領域PythonR更好

    經常有讀者問我們,在數據科學領域里,到底是該選 Python 呢,還是選 R 更好?誠然,對于數據科學家來說,R
    的頭像 發表于 04-18 10:49 ?3478次閱讀

    PythonR語言到底有什么區別和聯系

     有人說PythonR的區別是顯而易見的,因為R是針對統計的,python是給程序員設計的,其實這話對Python多多少少有些丌公平。20
    發表于 08-24 16:47 ?4次下載
    <b class='flag-5'>Python</b>和<b class='flag-5'>R</b>語言<b class='flag-5'>到底</b>有什么區別和聯系

    多元統計分析:RPython的實現

    多元統計分析:RPython的實現說明。
    發表于 05-27 11:27 ?14次下載

    Python如何將Python腳本打包成exe可執行文件

    Python實用技巧】如何將Python腳本打包成exe可執行文件?
    的頭像 發表于 08-18 12:40 ?1.8w次閱讀
    【<b class='flag-5'>Python</b>】<b class='flag-5'>如何將</b><b class='flag-5'>Python</b>腳本打包成exe可執行文件

    如何將arduino串口鏈接到python

    電子發燒友網站提供《如何將arduino串口鏈接到python.zip》資料免費下載
    發表于 02-01 09:27 ?0次下載
    <b class='flag-5'>如何將</b>arduino串口鏈接到<b class='flag-5'>python</b>

    如何在Python項目中應用分層架構

    本文來自Python 開發者對龐大的 Python 項目的代碼結構的總結。
    發表于 08-17 10:48 ?1072次閱讀
    如何在<b class='flag-5'>Python</b><b class='flag-5'>項目</b>中應用分層架構
    主站蜘蛛池模板: 天天摸天天操免费播放小视频| 久久青青成人亚洲精品| 看毛片网| 韩国三级久久精品| 国产高清一区二区三区四区| 人人爱天天做夜夜爽| 天堂tv亚洲tv日本tv欧美人tv| 久久99精品久久久久久久野外| 国产一区二区三区影院| 免费一级特黄视频| 男女交性视频免费视频| 欧美一区二区三区免费| 天天影院网| 色爱区综合五月激情| 一区在线播放| 四虎影院网址大全| 欧美日韩国产一区二区 | 影视精品网站入口| 国产高清视频在线免费观看| 看屁屁www视频免费观看| 五月丁香| 国产精品国产三级在线高清观看| 午夜精品在线免费观看| 国产成人亚洲综合a∨婷婷| 天天操夜夜操狠狠操| 一起射综合网| 色偷偷91久久综合噜噜噜噜| 四虎必出精品亚洲高清| 免费a级毛片出奶水| 免费特黄| 久久9966精品国产免费| 男女无遮挡在线完整视频| 久久这里只有精品免费视频| 看片免费黄| 免费精品美女久久久久久久久久| 久久久久88色偷偷| 最新在线网址| 一级片aaaaaa| 经典三级影院| 婷婷色香五月激情综合2020| 日本成片免费高清|