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