成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

從對(duì)抗到融合,教你充分利用R+Python!

開發(fā) 后端
事實(shí)上,R和Python本身是很好的工具,但通常被認(rèn)為是競(jìng)爭(zhēng)對(duì)手。今天推薦的這篇文章將會(huì)把兩者進(jìn)行比較,而不是將它們視為兩種選擇。

 如果你從事數(shù)據(jù)科學(xué)的工作,可能會(huì)立即想到兩種編程語言:R和Python。

事實(shí)上,R和Python本身是很好的工具,但通常被認(rèn)為是競(jìng)爭(zhēng)對(duì)手。今天推薦的這篇文章將會(huì)把兩者進(jìn)行比較,而不是將它們視為兩種選擇。

如果你在Google搜索欄中輸入R vs Python,會(huì)立即獲得大量有關(guān)一方的優(yōu)勢(shì)的文章。

[[261076]]

 

產(chǎn)生這種結(jié)果的原因之一,是人們根據(jù)他們根據(jù)對(duì)編程語言使用的選擇將數(shù)據(jù)科學(xué)領(lǐng)域劃分為陣營(yíng),一個(gè)R營(yíng)地和一個(gè)Python營(yíng)地。而且這兩個(gè)陣營(yíng)往往不能和諧相處,其中的成員都相信他們的語言優(yōu)于對(duì)方。因此,在某種程度上,分歧并不在于工具,而在于——

 

為什么不同時(shí)使用呢?

數(shù)據(jù)科學(xué)中有很少一部分人同時(shí)使用Python和R。但事實(shí)上,有很多人雖然只用一種編程語言,但他們也想要使用另一個(gè)軟件的某些功能。例如,R用戶有時(shí)會(huì)想要使用Python本機(jī)的面向?qū)ο竽芰Γ瑯樱恍㏄ython用戶也想用R中的各種統(tǒng)計(jì)分布。

 

上圖是Red Monk在2018年第三季度進(jìn)行的調(diào)查結(jié)果。這個(gè)調(diào)查數(shù)據(jù)來源于Stack Overflow和Github上的語言的流行度,它清楚地表明R和Python普及度都比較高。因此,沒有內(nèi)在的理由說明為什么我們不能在同一個(gè)項(xiàng)目上同時(shí)使用二者。我們的最終目標(biāo)應(yīng)該是更好地分析并獲得更好的理解,編程語言的選擇不應(yīng)成為實(shí)現(xiàn)這一目標(biāo)的障礙。

 

R與Python回顧

讓我們來看看這些語言以及它們的優(yōu)缺點(diǎn)。

 

Python

自1991年發(fā)布以來,Python一直非常受歡迎,并廣泛用于數(shù)據(jù)處理。優(yōu)點(diǎn)有:

  • 面向?qū)ο蟮恼Z言。
  • 廣泛的用途。
  • 有很多擴(kuò)展(功能)和強(qiáng)大的社區(qū)支持。
  • 簡(jiǎn)單,易與理解和學(xué)習(xí)。
  • 在pandas,numpy和scikit-learn這樣的軟件包上,Python是機(jī)器學(xué)習(xí)活動(dòng)的***選擇。

但是,與R不同,Python沒有用于統(tǒng)計(jì)計(jì)算的專用包。

[[261078]]

 

R

R的***個(gè)版本發(fā)布于1995年,從那時(shí)起它就成為業(yè)界最常用的數(shù)據(jù)科學(xué)工具之一。

  • 幾乎包含所有可以想到的統(tǒng)計(jì)應(yīng)用程序的安裝包。CRAN目前擁有超過10k的包。
  • 配備了完備的?可視化庫,如ggplot2。
  • 能夠進(jìn)行獨(dú)立分析。

性能良好的R不是最快的語言,并且在處理大型數(shù)據(jù)集時(shí)有時(shí)可能會(huì)內(nèi)存過多。

 

充分利用這兩種語言

我們能否同時(shí)利用R的統(tǒng)計(jì)能力和Python的編程能力?當(dāng)我們可以輕松地在R或Python腳本中嵌入SQL代碼時(shí),為什么不將R和Python混合在一起呢?

基本上有兩種方法可以在一個(gè)項(xiàng)目中同時(shí)使用Python和R.

在Python中使用R

  • PypeR

(http://bioinfo.ihb.ac.cn/softwares/PypeR/)

PypeR提供了一種簡(jiǎn)單的方法,通過管道從Python訪問R。PypeR也包含在Python的Package Index中,它提供了一種更方便的安裝方式。當(dāng)Python和R之間不需要頻繁的交互式數(shù)據(jù)傳輸時(shí),PypeR特別有用。通過管道運(yùn)行R,Python程序在流程操作系統(tǒng)平臺(tái)(包括Windows 、GNU Linux和Mac OS)的子流程控制下,可以獲得內(nèi)存控制和可移植性方面的靈活性。

 

pyRserve

(https://pypi.org/project/pyRserve/)

pyRserve使用Rserve作為RPC連接網(wǎng)關(guān)。通過這種連接,可以在Python中用R設(shè)置變量,也可以遠(yuǎn)程調(diào)用R函數(shù)。R對(duì)象作為Python實(shí)現(xiàn)的類的實(shí)例公開,在許多情況下R函數(shù)作為這些對(duì)象的綁定方法。

  • rpy2

(https://rpy2.bitbucket.io/)

rpy2在Python進(jìn)程中運(yùn)行嵌入式R。它創(chuàng)建了一個(gè)框架,可以將Python對(duì)象轉(zhuǎn)換為R對(duì)象,將它們傳遞給R函數(shù),并將R輸出轉(zhuǎn)換回Python對(duì)象。rpy2更常用,并且在積極開發(fā)中。

[[261079]]

 

在Python中使用R的一個(gè)優(yōu)點(diǎn)是可以在Python中輕易使用R的強(qiáng)大軟件包,如ggplot2,tidyr,dplyr等。舉一個(gè)例子,讓我們看看如何在Python中使用ggplot2進(jìn)行映射。

  • 基本場(chǎng)景

 

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

 

  • 幾何

 

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

 

在R中使用Python

我們可以使用下面其中一種替代方法在Python中運(yùn)行R腳本:

  • rJython

(https://r-forge.r-project.org/projects/rjython/)

該包通過Jython實(shí)現(xiàn)了Python的接口。它旨在讓其他包能夠與R一起嵌入python代碼。

  •  rPython

(https://cran.r-project.org/web/packages/rPython/index.html)

rPython又是一個(gè)允許R調(diào)用Python的包。它使得在R中運(yùn)行Python代碼,進(jìn)行函數(shù)調(diào)用,分配和檢索變量等成為可能。

  • SnakeCharmR

(https://github.com/asieira/SnakeCharmR)

SnakeCharmR是rPython的現(xiàn)代版本。它是'rPython'的一個(gè)分支,它用了'jsonlite'并且比rPython有很多進(jìn)步之處。

  • PythonInR

(https://bitbucket.org/Floooo/pythoninr/)

PythonInR通過提供從內(nèi)部與Python交互的函數(shù),使得從R內(nèi)部訪問Python變得非常容易。

  •  reticulate

(https://github.com/rstudio/reticulate)

網(wǎng)狀軟件包為Python和R之間的互操作性提供了一套全面的工具。在上述所有選擇中,這個(gè)是最廣泛使用的,更是因?yàn)樗诒籖studio積極開發(fā)。Reticulate在R會(huì)話中嵌入Python會(huì)話,實(shí)現(xiàn)無縫、高性能的互操作性。該軟件包使你能夠?qū)ython代碼網(wǎng)格化為R,從而創(chuàng)建一個(gè)將兩種語言編織在一起的新項(xiàng)目。

[[261083]]

 

網(wǎng)狀包提供以下設(shè)施:

  • 以各種方式從R調(diào)用Python,包括R Markdown,獲取Python腳本,導(dǎo)入Python模塊以及在R會(huì)話中以交互方式使用Python。
  • R和Python對(duì)象之間的轉(zhuǎn)換(例如,R和Pandas數(shù)據(jù)幀之間,或R矩陣和NumPy數(shù)組之間)。
  • 靈活地綁定到不同版本的Python,包括虛擬環(huán)境和Conda環(huán)境。

 

結(jié)論

R和Python都是非常強(qiáng)大的語言,其中任何一種語言都足以執(zhí)行數(shù)據(jù)分析任務(wù)。但是,對(duì)于這兩者來說肯定存在一些優(yōu)缺點(diǎn),如果我們能夠利用兩者的優(yōu)勢(shì),一定可以做得更好。無論如何,對(duì)二者進(jìn)行充分的了解能夠讓我們?cè)诟嗟沫h(huán)境中進(jìn)行工作。

責(zé)任編輯:武曉燕 來源: 讀芯術(shù)
相關(guān)推薦

2013-01-18 14:02:46

VDI存儲(chǔ)IOPS

2020-09-07 11:29:06

云計(jì)算數(shù)據(jù)倉庫云端

2023-10-23 16:11:14

2017-01-04 15:42:43

運(yùn)營(yíng)商SDN服務(wù)保障

2010-05-06 12:44:13

Unix系統(tǒng)

2024-01-17 16:25:02

生產(chǎn)數(shù)據(jù)數(shù)據(jù)孤島大數(shù)據(jù)分析

2024-10-28 15:14:53

2023-02-07 11:04:24

IT預(yù)算IT領(lǐng)導(dǎo)者

2009-05-21 09:08:52

接口C++面向?qū)ο?/a>

2015-06-04 09:12:05

云安全

2019-06-13 19:20:38

云平臺(tái)遷移云計(jì)算

2020-08-18 09:03:06

云計(jì)算云存儲(chǔ)數(shù)據(jù)

2018-09-04 08:40:41

數(shù)據(jù)中心網(wǎng)絡(luò)機(jī)柜

2015-02-26 09:50:42

vSphereSSD

2023-09-01 11:38:36

2019-08-06 09:52:16

網(wǎng)絡(luò)工具數(shù)據(jù)

2022-09-26 14:42:36

數(shù)據(jù)中心IT 行

2013-07-25 09:20:32

Windows 8.1

2019-05-05 09:26:01

物聯(lián)網(wǎng)安全物聯(lián)網(wǎng)投資物聯(lián)網(wǎng)

2013-03-22 10:30:16

IT主管ITM云計(jì)算
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产欧美一区二区三区久久 | 男人av在线| 欧美精品一区在线 | 国产精品激情小视频 | 久久久久久国模大尺度人体 | 久久精品欧美一区二区三区不卡 | 91极品尤物在线播放国产 | 99pao成人国产永久免费视频 | 在线欧美 | 欧美性网 | 欧美精品一区久久 | 欧美第一页 | 欧美视频在线播放 | 中文字幕一区二区三区在线观看 | 日韩三级| 蜜桃在线播放 | 成人免费大片黄在线播放 | 久久国产精品一区二区 | 亚洲天堂成人在线视频 | 97av| 在线观看国产视频 | 日本字幕在线观看 | 久久99精品久久久久久国产越南 | 亚洲成人一区 | 日韩免费一区 | 特黄毛片视频 | 欧美日韩成人 | 欧美综合久久久 | 九热在线 | www.欧美视频 | 91免费福利视频 | 日韩网站在线观看 | 羞羞视频一区二区 | 日韩欧美一级精品久久 | 久久久久无码国产精品一区 | 蜜桃视频在线观看免费视频网站www | 欧美中文在线 | 日韩精品一区二区三区中文字幕 | 91久久网站 | 国产精品电影网 | 欧美日韩一区二区在线 |