摘 要:R是一個適合完成數據分析(獲取數據、處理數據、分析數據和展示數據)且功能強大的軟件。
關鍵詞:R語言;數據分析
中圖分類號:F224 文獻標識碼:A 文章編號:1674-7712 (2014) 20-0000-01
大數據時代里,數據分析尤為重要。數據分析是什么?如何進行數據分析?這些問題已引起很多科研人士和工業界人士的思考和實踐。數據分析,簡而言之,就是分析數據。它是以商業目的為驅動,進而獲取數據、處理數據、分析數據、展示數據和撰寫分析報告的一系列的科學過程。R語言能夠很好地完成數據分析整個過程的各個環節所涉及的工作,已成為數據分析工作的一把“利劍”,并得到很多數據分析工作者的青睞。
一、R簡介
R是一個擅長統計計算和繪圖的自由免費的軟件,又稱之為R語言。R的功能已遠超出當初的初衷,現在已經廣泛地應用于各個領域,比方說:數據挖掘、機器學習、社交網絡、金融分析、生物信息分析等。R語言優勢獨特,主要表現為:(1)免費、開源和跨平臺;(2)資源非常豐富,截止到目前,R官網[1]已有5859個R程序包可供下載和使用;(3)簡單易學,解釋性語言;(4)繪圖功能強大,能夠設計和繪制出精致的圖形。
R語言已成為SAS商業統計分析軟件主要競爭對手,SAS可以做的各種數據分析工作,R語言也能夠做到,并且幾乎為“零成本”。R語言,不管對于學生、工程師,還是統計人士、數據分析人士,只要從事與數據分析相關的工作或是任務,都能夠助“一臂之力”。
二、R與數據分析
一個典型的數據分析過程如圖1所示。它是一個閉環系統,任何時刻,它都在進行數據的處理(數據清洗和轉換等)、數據的分析或數據的可視化甚至是整個過程,直至數據分析工作者能夠認識和理解數據,并且能夠回答所有可能需要回答的相關問題時,這個過程才結束。
R是一個適合完成典型數據分析過程并且功能全面的軟件。包括R與獲取數據、R與處理數據、R與分析數據和R與展示數據。
(一)R與獲取數據。R能夠獲取數據的方法多樣,常用的幾種匯總如下。
(1)從鍵盤獲取數據,適合少量的數據。通過如下命令可以實現,其效果如圖2所示。
打開數據編輯器后,向里面輸入相應數據,如圖所示,按行依次輸入了1、2、3和4。輸入完畢后,關閉數據編輯器,矩陣mat1結果如下所示。
(2)從文本文檔中獲取數據,R提供了相應的函數,常用的read.table()函數和read.csv()函數,函數詳情和實例,可以查閱R幫助文檔,例如:?read.table或者help(read.table);(3)從電子表格Excel中獲取數據,有兩種處理方法,一種是把Excle文件另存為純文本文件以采用第二種方法獲取數據;另一種方法,使用RODBC包所提供的方法獲取數據,核心代碼如下。
(4)從數據庫中獲取數據,R能夠非常方便地從各種關系型數據庫(MySQL、SQLServer和Oracle等)中獲取數據,R提供了多種面向RDMS的接口。例如
(二)R與處理數據。利用R處理數據,主要包括數據清洗和數據轉換。所謂數據清洗,就是針對“臟數據”,通過一定的策略清洗以生成能夠用于分析的數據。數據轉換,就是把數據轉換成符合某一種具體規格的數據,比方說,日期數據轉換,使用as.Data()函數把數據轉換為日期數據;無序數據到有序數據的轉換,使用sort()函數或者order()函數或者rank()函數等。
(三)R與分析數據。R提供了非常全面而系統的用于分析數據的方法,比方說,回歸分析可以使用lm()函數和predict()函數;方差分析可以使用aov()函數;判別分析有lda()函數;聚類分析有hclust()函數;主成分分析有可以使用princomp()函數等等。上述羅列的每種函數怎么使用,函數里面有哪些參數,可以查閱相關函數的R幫助文檔,文檔對函數的詳情和應用都有了全面的介紹。
(四)R與展示數據。R具有強大的繪圖功能,繪圖常用三種方式,一種R自帶包所提供的基本繪圖函數,比方說plot()函數;一種是基于ggplot2包[3]所提供的繪圖函數,比方說gplot()函數,還有一種是基于lattice包[4]所提供的繪圖函數,比方說xyplot()函數、bwplot()函數等等。
三、結束語
R語言適合數據分析工作,R語言能夠方便而有效地進行數據分析。在大數據已經到來的時代,挖掘數據的價值和規律,少不了數據分析,而R語言已成為數據分析一種有效工具,同時也成為開源的、免費的數據分析工具的“代名詞”。
參考文獻:
[1]R官網[OL].http://www.r-project.org/
[2]Robert I.Kabacoff.R in Action[M].