李雄英
摘 要:在計算機科學(xué)和大數(shù)據(jù)時代的背景下,統(tǒng)計學(xué)作為我國高等教育新的一級學(xué)科,在近幾年有了跨越式的發(fā)展。而R語言作為常用統(tǒng)計軟件,也越來越受到學(xué)術(shù)界的高度關(guān)注和認可。R語言具有操作簡單、功能全面、統(tǒng)計準確等優(yōu)點,在統(tǒng)計學(xué)的教學(xué)過程中也被廣泛使用。文章從統(tǒng)計學(xué)教學(xué)入手,探討在統(tǒng)計教學(xué)過程中R語言的運用,而且與例子相結(jié)合,來進一步說明R語言軟件在統(tǒng)計教學(xué)中的優(yōu)勢。
關(guān)鍵詞:統(tǒng)計學(xué);R語言;教學(xué)
中圖分類號:G642 文獻標志碼:A 文章編號:2096-000X(2017)01-0050-03
Abstract: Under the background of computer science and big data, statistics, as a new first-level discipline in higher education of our country, has achieved leap-and-bound development in recent years. And R language, as a common statistical software, has attracted more and more attention and recognition by the academic community. R language has the advantages of simple operation, comprehensive function, accurate statistics and so on, and is widely used in the teaching of statistics. This article starts from the teaching process of statistics, discusses the application of R language, and further illustrates the advantages of R language software, combined with examples.
Keywords: statistics; R language; teaching
R語言是屬于GNU系統(tǒng)的一個自由、免費、源代碼開放的軟件,它主要用于統(tǒng)計計算和統(tǒng)計制圖[1]。隨著統(tǒng)計技術(shù)的迅速發(fā)展,特別是伴隨著大數(shù)據(jù)時代的到來,現(xiàn)代數(shù)據(jù)處理方法解決問題能力的深度和廣度都有了很大的拓展,而選擇一個合適的統(tǒng)計軟件便成了大部分統(tǒng)計工作者需要關(guān)注的事情。隨著計算機技術(shù)和統(tǒng)計技術(shù)的發(fā)展,統(tǒng)計軟件不斷推陳出新,且各具特色。隨著全球?qū)χR產(chǎn)權(quán)的保護不斷提高,現(xiàn)在的開放源代碼逐漸開始形成一種市場,而R語言正是在這個大背景下發(fā)展起來的,R語言是以S語言環(huán)境為基礎(chǔ),并且由于其鮮明的特色,它一出現(xiàn)便受到了統(tǒng)計專業(yè)人士和企業(yè)界的青睞,正成為數(shù)據(jù)處理里相當(dāng)標準的統(tǒng)計軟件[2,3]。
如今,大數(shù)據(jù)時代已然來臨,尤其是在金融、電信、醫(yī)療和物流等行業(yè),幾乎已經(jīng)到了“數(shù)據(jù)就是業(yè)務(wù)本身”的地步,也有更多的統(tǒng)計分析師希望深入了解和分析大數(shù)據(jù),且近幾年Hadoop、NoSQL、數(shù)據(jù)分析與挖掘、數(shù)據(jù)倉庫、商業(yè)智能以及開源云計算架構(gòu)等逐漸成為了熱點話題。R語言軟件不僅在社會上的影響力逐漸提升,而且在高校的教學(xué)中也逐漸被重視。
一、R語言的教學(xué)優(yōu)勢
(一)R語言軟件的特點
R語言是一套比較完整的擁有數(shù)據(jù)處理、計算和制圖的軟件,其功能包括:數(shù)據(jù)存儲和數(shù)據(jù)處理系統(tǒng)、數(shù)組運算,屬于完整連貫的統(tǒng)計分析工具,而且它的統(tǒng)計制圖功能、簡便而強大的編程語言功能、可操縱數(shù)據(jù)的輸入和輸出功能,均可實現(xiàn)分支、循環(huán),并且用戶可自定義。R語言作為一種常見的統(tǒng)計分析軟件,是集統(tǒng)計分析與圖形顯示于一體的,相比于其他統(tǒng)計分析軟件,R語言還有以下特點:
1. 自由。這里的自由意味著軟件是完全免費的,而且它的源代碼是開放的。到目前為止,R語言的包有9275個,使用者可以在其鏡像或者其它學(xué)習(xí)網(wǎng)站中下載安裝程序、相應(yīng)的源代碼、包和文檔材料。
2. 可編程。與其它統(tǒng)計軟件相比,如SPAA、SAS等,R語言的特點中有一個讓程序員都喜歡的特點是——其可編程。作為一個開放的統(tǒng)計編程軟件,它的語法通俗易懂,讓大部分學(xué)者容易學(xué)會且掌握其語法,最重要的是我們可以編制自己的函數(shù)來擴展現(xiàn)有的語言。
3. 更新快。所有的有關(guān)R的函數(shù)和數(shù)據(jù)集是保存在程序包里面的,只有當(dāng)一個包被載入時,它的內(nèi)容才可以被訪問。一些常用、基本的程序包已經(jīng)被收入了標準安裝文件中,隨著新的統(tǒng)計分析方法的出現(xiàn),標準安裝文件中所包含的程序包也隨著版本的更新而不斷變化,而且更新的速度非???。
4. 強互動性。一般情況下使用的是R語言軟件,除了圖形輸出是在另外的窗口處,它的輸入、輸出窗口都是在同一個窗口進行的,而且輸出的圖形可以直接保存為多種圖片格式,還可以直接保存為PDF文件?,F(xiàn)在也有很多學(xué)者喜歡使用Rstudio,它的互動性會表現(xiàn)得更加明顯,我們直接可以在它的界面上得到需要的圖像,顯示下載過的包和編程歷史等信息。
5. 跨平臺。這里所謂的跨平臺的,主要是指R語言有較好的兼容性,他可以在我們的Linux和Windows,甚至是Mac OS運行,這是很多統(tǒng)計軟件所做不到的。
(二)R語言在統(tǒng)計教學(xué)中的優(yōu)勢
統(tǒng)計學(xué)的研究過程大概可以分為以下五個階段:收集數(shù)據(jù)、處理數(shù)據(jù)、分析數(shù)據(jù)、解釋數(shù)據(jù)、得到結(jié)論。而統(tǒng)計學(xué)的教學(xué)工作也是相應(yīng)地按照這五個階段的順序依次展開的,鑒于Excel軟件的統(tǒng)計功能易學(xué)易用,所以大部分教材或者學(xué)者都會選擇這個軟件,但是,從軟件本質(zhì)上來說,Excel是一款電子表格軟件,而非專門的統(tǒng)計軟件,它僅僅能夠處理一些簡單的統(tǒng)計計算,對于稍微復(fù)雜的問題便無從下手。在上述五個階段中,R語言主要應(yīng)用在處理數(shù)據(jù)和分析數(shù)據(jù)這兩個階段,處理數(shù)據(jù)階段主要包括數(shù)據(jù)的預(yù)處理、數(shù)據(jù)的整合以及數(shù)據(jù)的圖像顯示等方面。分析數(shù)據(jù)階段主要包括一些基本統(tǒng)計方法的內(nèi)容,如參數(shù)估計、假設(shè)檢驗、線性回歸等。對于大部分統(tǒng)計專業(yè)的學(xué)生來說,處理數(shù)據(jù)的能力非常重要。
對于堅持理論與應(yīng)用相結(jié)合的大學(xué)或者專業(yè),尤其是特別強調(diào)和訓(xùn)練各種與統(tǒng)計、數(shù)據(jù)分析相關(guān)計算機軟件的操作技能的專業(yè),R語言的優(yōu)勢會展現(xiàn)得淋漓精致。在教學(xué)上,教師可以通過對R語言的教學(xué),使學(xué)生不僅僅停留在對基礎(chǔ)理論知識的掌握上,更重要的是更加深入了解和掌握統(tǒng)計數(shù)據(jù)處理、運用統(tǒng)計軟件對實際問題具體分析的能力上,而且教師可以利用R語言軟件進行數(shù)據(jù)的可視化教學(xué)。教師在教學(xué)中采用R語言后,可以把各種統(tǒng)計數(shù)據(jù)通過可視化后更加直觀的展示給學(xué)生,使抽象的理論變得形象化。使用R語言進行教學(xué)可以很好的將課堂上講授的理論、案例分析與統(tǒng)計軟件結(jié)合起來。與此同時,還可以增加學(xué)生學(xué)習(xí)理論的積極性,最大限度的發(fā)揮學(xué)生的主觀性,以軟件促進理論學(xué)習(xí),學(xué)以致用,能獲得最優(yōu)的學(xué)習(xí)效果。
二、基于R語言的統(tǒng)計教學(xué)案例分析
(一)R語言相關(guān)的統(tǒng)計分析包
啟動R語言軟件后,我們可以看到R GUI (graphic user's interface)的主窗口,它主要由以下三部分組成:主菜單、工具條和R console(R的運行窗)。對于R語言,CRAN(Comprehensive R Archive Network)提供了許多便于統(tǒng)計分析的宏包:例如:stable-分布廣義回歸分析、VaR-風(fēng)險值分析、tseries-時間序列分析、matrix-矩陣運算、cinterface-C與R的接口、foreign-讀寫由S、Minitab、SAS、SPSS和Stata等軟件的數(shù)據(jù)、normix-混合正態(tài)分布分析、nortest-正態(tài)分布的Anderson-Darling檢驗、MCMCpack-基于Gibbs抽樣的MCMC抽樣方法、fracdiff-分數(shù)差分模型的極大似然估計[4]。
(二)實例分析
例1. 判斷數(shù)據(jù)是否服從正態(tài)分布
在判斷數(shù)據(jù)是否服從正態(tài)分布時,經(jīng)常使用到的是shapiro.test()檢驗、ks.test()檢驗等,也可以使用nortest包中的lillie.test(),它可以實行更精確的Kolmogorov-Smirnov檢驗,ad.test()進行Anderson-Darling正態(tài)性檢驗等。而且也可以使用fBasics包,其中normalTest()可進行Kolmogorov-Smirnov正態(tài)性檢驗等等。最簡單的還是使用概率直方圖或者QQ圖直接判斷,下面隨機產(chǎn)生10000個服從標準正態(tài)分布的隨機數(shù),并作出他們的概率直方圖,然后再添加正態(tài)分布的概率密度曲線,其程序和圖如下:
x=rnorm(10000) #隨機產(chǎn)生10000個標準正態(tài)分布的隨機數(shù)
hist(x,prob=T,ylim=c(0,0.5),main="") #作概率直方圖
lines(density(x)) #添加概率密度曲線
qqnorm(x,main="");qqline(x) #作QQ圖
這是隨機生成的服從正態(tài)分布的隨機數(shù)的概率直方圖,當(dāng)我們獲得一組數(shù)據(jù),并且需要判斷它是否服從正態(tài)分布時,可以通過作直方圖的方式看數(shù)據(jù)是否存在正偏或者負偏,從而判斷數(shù)據(jù)是否服從正態(tài)分布。
例2. 進行t檢驗
t檢驗分為單樣本均值的t檢驗和兩樣本均值的t檢驗,它的代碼均為t.test(),只是在兩樣本均值的t檢驗中需要求兩組數(shù)據(jù)服從正態(tài)分布,而且還要求兩組數(shù)據(jù)相應(yīng)的總方差相等,即滿足方差齊性。它們的代碼分別是:t.test(data1)、t.test(data2~data3,data=data)。
例3. 使用R語言做回歸分析
上面的例子只是統(tǒng)計分析中較常見且簡單的例子,實際上,R語言能夠處理統(tǒng)計基本模型,而且處理起來也不比其他統(tǒng)計軟件差。在我們的實際教學(xué)過程中,與傳統(tǒng)的講授法教學(xué)相比,使用R語言軟件進行教學(xué)不僅可以讓學(xué)生對統(tǒng)計、數(shù)據(jù)分析的原理、方法、技術(shù)和應(yīng)用有較好的把握,而且也可以讓學(xué)生較好的操作和運用計算機進行統(tǒng)計、數(shù)據(jù)分析軟件進行數(shù)據(jù)分析,以及讓學(xué)生具備規(guī)范的寫作數(shù)據(jù)分析報告的能力。
三、結(jié)束語
在大數(shù)據(jù)時代的今天,是否擁有數(shù)據(jù)分析能力以及處理數(shù)據(jù)能力直接影響著一個統(tǒng)計學(xué)者能否真正融入數(shù)據(jù)化的時代。而R語言這個被廣泛使用的統(tǒng)計工具也逐漸被人接受和應(yīng)用,特別是在大學(xué)的統(tǒng)計教學(xué)中。R語言在統(tǒng)計教學(xué)過程中最大的優(yōu)勢是它能夠?qū)⒎浅3橄蟮慕y(tǒng)計學(xué)概念轉(zhuǎn)化為直觀具體的圖形或者函數(shù),從而使得枯燥無味的統(tǒng)計學(xué)學(xué)習(xí)變得更加生動有趣。在教學(xué)過程中,可以針對學(xué)生的學(xué)習(xí)興趣對R語言的應(yīng)用過程進行優(yōu)化,從根本上提高學(xué)生對統(tǒng)計學(xué)的掌握水平,從而培養(yǎng)綜合性和應(yīng)用型人才。
參考文獻
[1]王斌會.多元統(tǒng)計分析及R語言建模[M].廣州:暨南大學(xué)出版社,2015.
[2]張哲.淺談R語言在生物統(tǒng)計學(xué)教學(xué)中的應(yīng)用[J].教育教學(xué)論壇,2013(07):54-55.
[3]奚寧.R語言在統(tǒng)計學(xué)教學(xué)中的運用[J].科技咨詢,2012(01):97-98.
[4]吳喜之.復(fù)雜數(shù)據(jù)統(tǒng)計方法:基于R的應(yīng)用[M].北京:中國人民大學(xué)出版社,2013.