
大家好,我是小五🧐
如果你是一位資料分析師,必須學習并掌握結構化查詢語言——SQL,但它主要用于查詢檢索資料,所以往往還需要掌握一門編程語言,
在我的公眾號中,資料分析相關文章似乎都是用Python實作的,實際上,R語言和Python編程在資料分析方法都各有所長,今天這篇文章會通過比較的形式介紹R語言和Python資料分析,
我們進行資料分析,大體圍繞在資料獲取、資料處理(探索)、資料建模以及資料可視化這幾方面,
Python和R的簡介
R是開源和免費的,這一特點讓很多人從 SAS 和 SPSS 等傳統商業統計軟體包轉而學習并使用R[1],大多數用戶使用RStudio撰寫和編輯他們的 R 代碼,RStudio是一款用于在 R 中編碼的集成開發環境 (IDE),
Python是一種面向物件的編程語言,并具有一個全面的標準庫,可以輕松編程許多常見任務,大多數用戶使用PyCharm撰寫和編輯他們的 Python 代碼,PyCharm是由 JetBrains 打造的一款 Python IDE(集成開發環境),
對于資料分析師來說,在Jupyter Notebooks上撰寫和編輯代碼是個不錯的選擇,它是一款非常靈活、可互動和強大的工具,既可以運行Python代碼,也同樣支持R(需安裝IRkernel這個R包),
資料獲取
Python語言支持匯入各種不同格式的資料,包括但不限于Excel、CSV、txt、JSON等等,Python還有pandasql、sqldf等開源模塊,它們可以直接運行SQL來獲取資料庫,
import pandas as pd
df = pd.read_csv("測驗資料.csv")
此外,Python語言不僅可以撰寫爬蟲從網站爬取資料,還可以通過讀取Word、PDF、PPT等常用辦公檔案中讀取資料,
同樣,R語言也允許將資料從 CSV、Excel 和txt匯入 R,R語言中既可以利用sqldf拓展包獲取SQL資料庫中的資料,也支持SPSS/SAS/Matlab等資料集的匯入,
library(readr)
data <- read_csv("測驗資料.csv")
但是在爬蟲方面,R缺少類似于scrapy這類爬蟲框架,只能進行簡單的資料抓取,
資料處理
在資料處理(探索)中,使用Python編程則往往要呼叫Pandas模塊,Pandas在資料處理的功能上非常全面,包括但不限于:資料預覽、資料預處理、資料選取、資料運算、資料排序與排名、資料合并與連接、資料分組與透視表等等,
df.head(10)
R語言可以被用來對大型資料集進行數值和統計分析,資料探索包有:Dplyr、sqldf、data.table、readr、tidyr等,因此也有大量資料分析/科學人員使用 R 進行探索資料,
head(data, 1)
資料建模
Python編程語言具有用于資料建模的標準庫,包括用于數值建模分析的 Numpy 庫 、用于科學計算和計算的 SciPy 庫、用于機器學習的 sklearn 庫等等,
from sklearn.decomposition import PCA
ca_2 = PCA(2)
lot_columns = pca_2.fit_transform(good_columns)
lt.scatter(x=plot_columns[:,0], y=plot_columns[:,1], c=labels)
lt.show()
tidyverse是為資料科學設計的R軟體包,它包含(ggplot2、dplyr、tidyr、stringr、magrittr、tibble)等一系列熱門軟體包,學好tidyverse的使用可也讓你站上另一個高度,從而高效的處理資料[2],
nba2d <- prcomp(nba[,goodCols], center=TRUE)
woColumns <- nba2d$x[,1:2]
lusplot(twoColumns, labels)
資料可視化
Python在資料可視化方面擁有Matplotlib、Seaborn、Bokeh、plotly等可視化庫,同時也有大量借鑒R的可視化新模塊,
import seaborn as sns
sns.scatterplot(x = 'SepalLengthCm', y = 'SepalWidthCm', hue = 'Species', data = iris)
R語言專注統計分析,可視化生態圈也較為完善,擁有graphics、ggplot2、lattice、plotly等包,尤其在某些生信、科研、航空等領域,R語言的可視化效果要比Python優秀不少,此外在構建可視化平臺方面,Rmarkdown、Rshiny等R包也提供了極大的便利,
ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, col = Species)) +
geom_point() +
labs(title = "A Nice Iris Dataset Graphic", x = "Sepal Length", y = "Sepal Width") +
theme_minimal()
小結
Python 是一種通用的、功能強大的膠水語言,我們可以將很多自動化辦公與資料分析/處理結合起來,另一方面,如果你專注于資料和統計,R語言則有一定優勢,因為它專為統計分析和資料科學而設計,
就我自己觀察,似乎具有較強學識訓數學資料科學背景的同學更喜歡 R,而具有更多編程背景的同學更喜歡直接使用Python編程,
以上僅代表個人見解,希望能夠對大家有幫助!
推薦好書 & 福利抽獎
《深入淺出R語言資料分析》
本書首先介紹資料分析的方法論,然后介紹資料分析的相關模型方法,并進一步通過資料分析案例,講解資料分析的思維、方法及模型實作程序,本書重點介紹R語言在資料分析方面的應用,讓讀者能夠快速地使用R語言進行資料分析、構建模型,
今天我也會抽獎送出多本《深入淺出R語言資料分析》,抽獎的方式也非常簡單,只需掃描下方二維碼,回復“0303”即可參與獲得專屬的抽獎鏈接,看到文末的小伙伴,麻煩給右下角點個贊再走,

本次活動采用官方抽獎平臺,公開公平,中獎的同學可以免費包郵獲得最新版本的《深入淺出R語言資料分析》,
參考資料
[1]
Peter Bell: https://flatironschool.com/
[2]R語言學習指南(3) tidyverse的基礎使用: https://www.jianshu.com/p/a081a791ae03


點擊這里,閱讀更多資料文章!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/438087.html
標籤:其他
