R 和 Python numpy scipy pandas 用於統計學分析,哪個更好?

時間 2021-05-06 09:11:34

1樓:7777777

不知不覺學習r語言已經有3年了,感覺r語言是一門非常棒的統計語言,為資料分析之路開啟了新的大門。期間我也陸續用過python,也是相當不錯的語言。

如果只是單純的統計、分析、建模的話,學r語言最好。因為包多,教程多,資料完善,在rstudio中一鍵f1就知道這個函式的詳細資訊與用法,非常便捷。學習各種r包非常有意思,就像挖寶一樣感到驚喜,因為你永遠不知道下乙個包,下個函式是什麼樣子,需要不斷的摸索。

而python的話對於統計的包很缺,而且要重複造輪子,非常麻煩。另外如果沒有程式設計的功底,用python是非常難上手與理解的。目前我逐漸學習python,因為這可以開發一些資料視覺化的小程式,分享給同事。

雖然r語言也有shiny,展示效果也非常不錯,但是它不能進行程式封裝,除非用於伺服器上的展示,或者是將整個本地r程式打包給別人,這是非常的遺憾。

其實當你同時了解這兩種語言之後就會發現,就統計而言,只是兩種不同的寫法罷了。因為python的各種分析庫本身就大量的借鑑了r,因此對於資料分析,python的語法是偏向程式設計師的思維,而r語言的語法偏向於統計學家的思維。

總體上我覺得r是乙個超級指令碼計算器,專注於資料分析本身。而python是可以開發專案工程的語言。因此未來,我會繼續使用r作為資料分析的首選,而使用python開發小程式。

僅此借鑑。

2樓:西部騷大叔

統計出身,對於R和python上面已經回答很多,我從另乙個角度來解答。那就是資料型別。

第一,對於所有結構化資料分析,機器學習來說,R無疑強過python,這點毋庸置疑。dajq可以去看看網上機器學習包精度比較。python有sklearn,R一樣也有MLR3。

對於規模小的資料data.table很快就可以處理,對於超級大的資料R有dbplyr可以在資料庫中用檢視變數,選取適合的變數後做特徵工程。在資料量到一定等級的時候R和python處理資料都有一定的困難,這個時候就需要用sql做資料清洗了兩者都一樣沒有什麼區別。

python在結構化資料上最大的優勢就是python在tensorflow裡有概率程式設計的藉口,而R沒有。而深度學習方面R可以用tf,也可以用mxnet都可以用GPU加速這點基本和python打平。

第二非結構化資料,這個R就是完全的弱勢群體了,影象處理雖然有一些包可以處理,但是毫無疑問的是R沒有opencv介面,R沒有opencv介面,R沒有opencv介面!這導致R在影象處理方面大大落後於python。python眾所周知是膠水語言,所以對於結構化資料和非結構化資料處理來說都有自己應對的方法,而R是我們統計的語言發展到現在所以對於非結構化資料的處理來說比較難受,對於這個弱勢R語言開源社群也有很多人在寫新的包來彌補,自己也是一直在做這方面工作,感覺隨著Rcpp的不斷進步,有望在以後能開發出opencvR介面(自己在嘗試著做)或者其他影象處理包,比較欣慰的一點是已經有國外大神開發了Linux版本的opencv介面但還沒有Windows的

3樓:資料分析小楊

現在做統計分析一般還是用R和SPSS,因為R語言就是為統計分析而生的,只專注與統計分析的話,他的深度就會很深,而python可以做很多方面,所有在統計的很多方面都沒有涉獵。

4樓:

統計學分析自然是R,統計學家開發的語言,統計學家維護的語言,R更懂統計,更懂統計學的需求。

R偏函式式的程式設計正規化也更符合數學思維,更容易理解。

R的包文件相對健全。

R的效能,很多包背後是C++, 並不慢,比如data.table讀取資料,可能是資料科學語言中最快的。

R也會讓使用者專注統計,資料科學。

python怎麼說也比R複雜不少。用R你可能只是資料分析,只是統計,用python得把半隻腳踏進IT領域

python的numpy: 科學計算工具,有很多通用函式,使用上其實沒那麼python。

pandas: 方法很多,稱不上簡潔。與R的設計相比,pandas並不足夠懂資料清洗,處理。

比如pandas強調索引,由此而來不少有點奇怪的不易理解的操作。如果你做資料科學,採用SQL table那種方式儲存資料可能更合適(R類似,tidyverse不鼓勵使用行名),而不是pandas這種強調行索引的。

5樓:statr

做統計研究的,用開R就一直用R,沒問題。

如果剛剛入門,可以優先考慮python。

不管你是統計新手還是老手,如果用在工程應用中(應用程式),就建議用Python。

6樓:zhuobie

舉乙個例子,在R中做線性回歸只要乙個命令就夠了:lm(y~x),不需要引入額外的庫。

Python下的StatsModels,也從0.5.0版本開始,支援配合pandas的dataframe,使用R語言風格的方式來擬合模型。

雖然Python可以做更多事情,但R語言就是為統計而生的,在統計這個小圈子,尤其是經濟金融、醫學生物等領域,你想要的輪子在CRAN上基本都有了,使用R比用Python更順手、更簡單。

7樓:我也是啊

所以他們合作了

Announcing Ursa Labs: an innovation lab for open source data science

(想回答問題,「你所在的哪些領域全靠祖師爺給口飯吃」)

8樓:akon

我覺得什麼應該都學吧,因為各有各的好處,我現在用python做機器學習的模型,然後特徵工程這一塊會用到R或者是python,因為python相對R的速度會更快一些,但是R說實話還是個統計軟體,因為我是統計出身的,算共線性這些東西python就很難搞,所以特徵工程的時候可以python和R一起用.

9樓:Xiecheng

如果是傳統的統計學分析,比如線性回歸,多元統計分析,時間序列,假設檢驗等,優先選擇R。R最開始就是為了統計學家做這些事情而生的。而且發展到現在R已經形成了一套成熟的統計分析生態系統,你可以使用RStudio - 乙個強大的編寫R語言的IDE,完成資料分析專案裡的各個環節:

使用各種完善的統計模型的包(base, stats, glm, ts…)或者機器學習的框架(gbm, ctree, xgboost…)完成模型的搭建和訓練;

R中各個統計分析包都會有完整的引數檢驗模組,方便對分析結果進行debug和對模型引數進行必要的調參;

想輸出相應的圖形來觀察分析的結果或者對比訓練模型的精度,各種預設的plot函式和很多人推薦的ggplot能快速滿足你的需求;

資料分析的過程想要做乙份報告做記錄或者資料分析的結果需要做快速分享,RStudio本身整合了RMarkdown,寫markdown文件生成pdf或者html能大大提高你的工作效率。

甚至可以用knitr包套乙份模板快速生成精美的ppt。

最新的RStudio提公升了資料匯入的效能,對於小白來說,可以像在其他BI工具裡面運算元據匯入部分一樣在RStudio中操作。

最後R的大殺器 - shiny,能更便捷地做可互動的資料分析dashboard,迅速提公升你的逼格,而不需要你懂得太多的js或者html的知識。

如果這套流程都走通走熟了,利用R完成資料分析是一種很爽的體驗。Python相比較而言就差了一些。

R不足的地方,很多高票回答都提到的處理資料的速度和效率,這裡就不贅述了。從語言基因來說,Python是比R更適合處理大資料和完成資料開發的。

總結一下,想完成基本統計分析的資料量不到GB級別的,使用R完成所有分析環節的體驗更好;資料量極大並且涉及到資料開發和產品化的,利用Python的各個資料分析處理的庫開發效率更高,迭代速度更快。以上。

10樓:

個人感覺這取決於:你獲取資料的方式(也就是你的工作流程)

a). 如果你只是載入資料(沒有 ETL 過程。資料從mysql, z-tree 中讀取)那麼 R比較好用(推薦 psych, gmodels, data.

table 庫。b). 如果是大尺寸的資料建模(資料儲存在 Hadoop 上,或者其它,從非計算機同學看來複雜的資料結構),那麼 Python 處理起來會方便(推薦 numpy)

11樓:孤雲獨去閒

我的理解是先別管技術細節,學python還是r,取決於你現在做的專案的合作者使用什麼。哪個更容易上手就從哪個開始。

按我的理解,絕大多數的任務都是兩者都能做。比如資料處理的join,groupby之類的。

建模分兩種,一種是調包建模比如xgb,sklearn之類,python和r都有,可以自己選。另一種是自己寫訓練演算法,那就更要挑熟悉的語言了。

有少部分任務還真是非要用其中的乙個。比如算邏輯回歸的係數的p value,這就要用r了。有些特殊的優化演算法,要用scipy。r我不知道有沒有,也沒查。

不過沒關係呀,我可以整個專案都在python裡開發,就邏輯回歸的那個p值用一下r就完了唄。

反正我自己是喜歡python,r也略會,讀得懂。

可能是心理作用。我總覺得pandas比dplyr要快。

12樓:Tony

什麼適合不適合的

你要是學生:

hardcore自己寫pde solver或者求高效的就用python

一般的python和r一樣

你要是工作:你要implement的平台要求用什麼你就用什麼,哪兒那麼多挑的,不就幾個資料清理分析遞迴在後期來幾個plot嗎。python r sas vba都差不多

13樓:Neal

個人覺得 R和Python 的側重點不同。對於統計分析而言從這兩個軟體中非要選乙個的話我肯定是推薦用R。我自己做Research 大多數的code是在R下完成的。

首先R對於大多數已有的統計模型都有相應的包,各種統計分析的結果是比較完善的,所以做各類方法的比較是比較容易的。但是R有乙個致命的缺陷是慢尤其是在處理迴圈的時候是非常的慢的,但是對於一般性的統計學問題這個並不會構成很大的麻煩。總而言之對於統計這一塊而言R肯定是由於Python的。

PS:個人覺得Python 有點被搞數學的炒起來的感覺。

R5 4600H和R7 4800H在 Adobe全家桶上差距大嗎(聯想r7000)? ?

白睫哥 r7000到了之後我用到adobe的場景只有pr.我的體驗是渲染速度還要遠勝於我的台式電腦2700的cpu,而4600h看引數應該是不如2700。可想而知差距應該挺大的。 小飛機 其他答案也可以參考,如果不想台式電腦,那麼4800更適合你的。使用過程可能沒有感覺,但是渲染可以節約時間成本的。...

如何評價AMD的R3 2200G和R5 2400G APU

陽光 我是從amd955 gtx275 4g這麼乙個用了整10年,三大件就直逼4000多的遠古平台。換成了r3 2200g 平台。之前沒接觸過核顯集顯。本來就是給媳婦配的靜音的主機,看看電視劇集做做表上上網而已。有天抱著試一試的心態下個dota2,居然可以滿解析度 比1080p低一點,忘了多少解析度...

聯想拯救者R9000P(2021)和R7000P(2021)有啥不一樣的地方?

丹特麗安的書姬 亮點如下 螢幕的公升級是最大的亮點。聯想拯救者 R9000P 2500 1600 16 10 100 SRGB 165hz 500尼特 G Sync FreeSync Premium DC調光 萊茵硬體級低藍光認證 X Rite色彩管理聯想拯救者 R7000P 1920 1080 1...