摘要 生物統(tǒng)計(jì)學(xué)是高等院校生物學(xué)、農(nóng)學(xué)、林學(xué)等專業(yè)的主干課程,然而該課程的教學(xué)效果不理想,提高該課程的教學(xué)效果意義重大。R軟件是一款強(qiáng)大的統(tǒng)計(jì)分析工具,使用R軟件輔助生物統(tǒng)計(jì)學(xué)教學(xué),有助于教師展示抽象的統(tǒng)計(jì)概念與方法,并激發(fā)學(xué)生的學(xué)習(xí)興趣。R軟件在生物統(tǒng)計(jì)學(xué)教學(xué)中可用于運(yùn)算、抽樣、數(shù)據(jù)可視化以及驗(yàn)證統(tǒng)計(jì)學(xué)定理等方面。本文介紹了R軟件在生物統(tǒng)計(jì)學(xué)的課堂中的具體應(yīng)用,以提高教學(xué)效果,對(duì)R軟件在生物統(tǒng)計(jì)學(xué)課程中的普及具有積極意義。
關(guān)鍵詞 生物統(tǒng)計(jì)學(xué);R軟件;教學(xué);應(yīng)用
中圖分類號(hào) G642.0 文獻(xiàn)標(biāo)識(shí)碼 A
文章編號(hào) 1007-7731(2023)14-0156-05
統(tǒng)計(jì)學(xué)是大數(shù)據(jù)時(shí)代不可或缺的學(xué)問,數(shù)據(jù)分析是當(dāng)代專業(yè)人才必備的技能之一[1]。生物統(tǒng)計(jì)學(xué)是研究隨機(jī)現(xiàn)象的規(guī)律性,以概率論為理論基礎(chǔ),通過搜集、整理及分析數(shù)據(jù),總結(jié)出隨機(jī)現(xiàn)象變化規(guī)律的一門交叉學(xué)科[2]。生物統(tǒng)計(jì)學(xué)是一門應(yīng)用性很強(qiáng)的基礎(chǔ)學(xué)科,通過學(xué)習(xí)生物統(tǒng)計(jì)學(xué),學(xué)生不僅可以提升試驗(yàn)設(shè)計(jì)、數(shù)據(jù)分析的能力,還能形成科學(xué)的思維方式。然而,高等院校的生物統(tǒng)計(jì)學(xué)課程由于包含抽象的概念,存在理論與實(shí)踐相脫節(jié)、授課對(duì)象的知識(shí)儲(chǔ)備不夠等問題,是生物學(xué)、農(nóng)學(xué)、林學(xué)等相關(guān)專業(yè)公認(rèn)的授課難度大、學(xué)生興趣低的課程之一[3-4]。因此,如何提高生物統(tǒng)計(jì)學(xué)課程的教學(xué)效果,如何讓學(xué)生輕松掌握數(shù)據(jù)分析的基本技能,這是高等院校教學(xué)過程中面臨的主要問題之一。
R軟件是目前全球受歡迎的統(tǒng)計(jì)分析與作圖工具之一,同時(shí)也是非專業(yè)人員容易掌握的高級(jí)計(jì)算機(jī)編程語言[5]。R軟件免費(fèi)開源,在其主頁(https://www.r-project.org/)上可自由下載,且資源豐富,擁有上萬個(gè)程序包供用戶使用,可滿足所有的統(tǒng)計(jì)分析[5-6]。在生物統(tǒng)計(jì)學(xué)教學(xué)過程中引入R軟件,不僅有助于闡釋統(tǒng)計(jì)學(xué)思想、概念和方法,提高教學(xué)效果,也可解決生物學(xué)專業(yè)長期缺乏有效且廣泛使用的非商業(yè)統(tǒng)計(jì)軟件的問題[7]。
R軟件在生物統(tǒng)計(jì)學(xué)的教學(xué)過程中有著廣闊的使用前景[8],可應(yīng)用于課堂教學(xué)中基本的運(yùn)算、抽樣模擬、數(shù)據(jù)可視化以及驗(yàn)證統(tǒng)計(jì)學(xué)定理等諸多方面。在生物統(tǒng)計(jì)學(xué)的課堂中輔助使用R軟件,是理論應(yīng)用于實(shí)踐的生動(dòng)展現(xiàn),可增強(qiáng)學(xué)生實(shí)際動(dòng)手能力、提高學(xué)生的學(xué)習(xí)興趣、培養(yǎng)良好的統(tǒng)計(jì)思維,且有助于抽象理論的具體化[9]。本文現(xiàn)就R軟件在生物統(tǒng)計(jì)學(xué)教學(xué)中的具體應(yīng)用案例進(jìn)行闡述。
1 基本運(yùn)算
在生物統(tǒng)計(jì)學(xué)的入門課程中,經(jīng)常需要對(duì)元素(通常為數(shù)值)、向量、矩陣進(jìn)行數(shù)學(xué)運(yùn)算,使用計(jì)算器、Excel等工具往往效率低,導(dǎo)致課堂進(jìn)度被延誤,甚至部分復(fù)雜運(yùn)算無法開展;而在高級(jí)生物統(tǒng)計(jì)學(xué)課程中,會(huì)涉及比較、邏輯運(yùn)算,可選擇的運(yùn)算工具有限。R軟件包含有特定的運(yùn)算符號(hào)(表1),能處理元素、向量、矩陣、數(shù)組、數(shù)據(jù)框和列表6種對(duì)象形式,可快速、方便的進(jìn)行上述3種運(yùn)算。其中,數(shù)學(xué)運(yùn)算返回?cái)?shù)值型對(duì)象,比較和邏輯運(yùn)算返回邏輯型對(duì)象[10]:
> x <- c(1, 2, -1, 0)? ? #創(chuàng)建向量x。
> y <- c(2, 3, 4, 0)? ? #創(chuàng)建向量y。
> x + y * 2? ? #數(shù)學(xué)運(yùn)算,向量y乘以2后與向量x相加。
[1] 5 8 7 0? ? #輸出結(jié)果。
> y > x * 2? ? #比較運(yùn)算,向量x乘以2后與向量y比較。
[1] FALSE FALSE TRUE FALSE
> x & y? ? #邏輯運(yùn)算中所有非0都是邏輯值TRUE。
[1] TRUE TRUE TRUE FALSE
R軟件不僅可以通過運(yùn)算符號(hào)進(jìn)行計(jì)算,它還包含很多內(nèi)置函數(shù),借助這些內(nèi)置函數(shù)可快速獲得樣本統(tǒng)計(jì)量[11]:
> mean(x)? ? #計(jì)算向量x的算術(shù)平均值。
[1] 0.5
> var(x)? ? #計(jì)算向量x的方差。
[1] 1.666 667
> sd(x)? ? #計(jì)算向量x的標(biāo)準(zhǔn)差。
[1] 1.290 994
2 抽樣模擬
生物統(tǒng)計(jì)學(xué)的主要目的是通過樣本推斷總體,因而樣本是生物統(tǒng)計(jì)學(xué)最主要的研究對(duì)象[12-13]。課堂教學(xué)過程中經(jīng)常要展示樣本統(tǒng)計(jì)量(如:均值、比例、極差、方差和變異系數(shù)等),或者基于樣本進(jìn)行計(jì)算后再做推斷[14]。課堂中的樣本主要來源于教材和教師臨時(shí)例舉的樣本,這些樣本都存在一定的局限性:教材中的案例樣本數(shù)量有限,且將數(shù)據(jù)導(dǎo)入統(tǒng)計(jì)軟件時(shí)需要花費(fèi)不少時(shí)間;臨時(shí)例舉的樣本不一定切合主題、學(xué)生聽起來也比較抽象,并且例舉的樣本無具體數(shù)據(jù),不能進(jìn)一步演示。如何在課堂中有豐富的樣本案例以便于展示,這是生物統(tǒng)計(jì)學(xué)課堂教學(xué)面臨的問題之一。
R軟件包含很多抽樣相關(guān)的內(nèi)置函數(shù),借助這些函數(shù)能從理想總體中獲得對(duì)應(yīng)的樣本,并可通過設(shè)置函數(shù)參數(shù)來獲得不同樣本:
> set.seed(1)? ? #設(shè)定隨機(jī)種子。
> sample.1<- rnorm (1 000)? ?#由標(biāo)準(zhǔn)正態(tài)總體中隨機(jī)抽取1 000個(gè)數(shù)值作為樣本1。
> sample.2<- rbinom (1 000)? ? #由二項(xiàng)式總體中隨機(jī)抽取1 000個(gè)數(shù)值作為樣本2。
> sample.3<- rpois (1 000)? ? #由泊松分布總體中隨機(jī)抽取1 000個(gè)數(shù)值作為樣本3。
> sample.4<- runif (1 000)? ? #由均勻分布總體中隨機(jī)抽取1 000個(gè)數(shù)值作為樣本4。
> sample.5<- runif (500)? ? #由均勻分布總體中隨機(jī)抽取500個(gè)數(shù)值作為樣本5。
> mean (sample.5)? ? #計(jì)算樣本5的均值。
[1] 0.506 079 9
值得注意的是,上述例舉的抽樣方法為非放回式抽樣,適用于樣本量很大的情況;在高級(jí)的生物統(tǒng)計(jì)學(xué)課程中會(huì)涉及放回式抽樣。R軟件只需調(diào)整內(nèi)置函數(shù)的參數(shù)即可進(jìn)行放回式抽樣,并通過放回式抽樣解決復(fù)雜的教學(xué)問題,比如:計(jì)算樣本方差95%的置信區(qū)間:
> set.seed(1)? ? #設(shè)定隨機(jī)種子。
> sample.6 <- rnorm(5, mean = 1, sd = 2)
#由均值為1、標(biāo)準(zhǔn)差為2的正態(tài)總體中隨機(jī)抽取5個(gè)數(shù)值作為樣本6。
> sample.v <- numeric(1 000)? ? #創(chuàng)建能包含
1 000個(gè)元素的向量。
> for (i in 1:1 000){sample.v[i] = var(sample(sample.6, 5, replace = T))}
#對(duì)樣本6進(jìn)行放回式抽樣,每次抽取5個(gè)數(shù)值,計(jì)算每次的樣本方差,重復(fù)1 000次。
> quantile(sample.v, probs = c(0.025, 0.975))
#計(jì)算95%的置信區(qū)間。
[1] 2.5%? ? ? ? ?97.5%
0.504 509 5? ? ?18.455 867 5
3 數(shù)據(jù)可視化
數(shù)據(jù)工作者在對(duì)總體進(jìn)行推斷之前,需要對(duì)樣本數(shù)據(jù)的分布狀況、離群值等進(jìn)行描述,最便捷的數(shù)據(jù)描述方式是可視化[5,15]。數(shù)據(jù)可視化是生物統(tǒng)計(jì)學(xué)課程的重要教學(xué)內(nèi)容,有效的可視化不僅有利于展示數(shù)據(jù)規(guī)律,更有助于統(tǒng)計(jì)建模[5,15]。圖形是數(shù)據(jù)可視化最有效的工具,教師通常在課堂上繪制直方圖、條形圖等向?qū)W生展示數(shù)據(jù)。借助Excel、SPSS(Statistical Package for the Social Sciences)、SAS(Statistical Analysis System)等軟件都能繪制直方圖、條形圖,但是這些軟件繪制的圖形不易修改,且繪制過程相對(duì)繁瑣。
R軟件只需1行代碼,即能繪制出高質(zhì)量的直方圖、條形圖,若要修改圖形,對(duì)代碼中的參數(shù)進(jìn)行調(diào)整即可。不僅如此,R軟件還能繪制出更復(fù)雜的圖形,能更有效實(shí)現(xiàn)數(shù)據(jù)的可視化,比如:R軟件繪制的箱線圖包含樣本數(shù)據(jù)的分位數(shù)信息,能讓學(xué)生更容易發(fā)現(xiàn)數(shù)據(jù)的變化規(guī)律。以下是R軟件繪制直方圖(圖1)、條形圖(圖2)和箱線圖(圖3)的方法:
> hist(sample.1, breaks = 10, xlab = “數(shù)據(jù)取值”, ylab = “頻數(shù)”)
#繪制直方圖。
>type<-c("red", "blue", "green", "yellow", "purple")? ? #創(chuàng)建1個(gè)字符向量。
> number <- c(10, 15, 20, 25, 30)? ? #創(chuàng)建1個(gè)數(shù)值向量。
> barplot(number, names.arg = type, xlab = "顏色", ylab = "頻數(shù)")
#繪制條形圖。
> set.seed(1)? ? #設(shè)定隨機(jī)種子。
> data <- rnorm(1 000)? ? #由標(biāo)準(zhǔn)正態(tài)總體中隨機(jī)抽取1 000個(gè)數(shù)值作為樣本。
> boxplot(data, breaks = 10, xlab = " ", ylab = "數(shù)據(jù)取值")
#繪制箱線圖。
4 驗(yàn)證統(tǒng)計(jì)學(xué)定理
中心極限定理解釋了正態(tài)分布的普遍性,是生物統(tǒng)計(jì)學(xué)課程中兩大基本規(guī)律之一[16]。在生物統(tǒng)計(jì)學(xué)教材中,中心極限定理的內(nèi)容為:若隨機(jī)變量X1、X2、…、Xn,獨(dú)立、同分布且具有數(shù)學(xué)期望、方差,則隨機(jī)變量之和(均值)近似正態(tài)分布,n越大、近似程度越高[12,17]。毫無疑問,教材中對(duì)于定理的描述是準(zhǔn)確、清晰的。然而,由于該定理的內(nèi)容“隨著樣本容量n增大,樣本的和或均值越接近正態(tài)分布”比較抽象,且生物學(xué)專業(yè)的學(xué)生在統(tǒng)計(jì)學(xué)方面的知識(shí)儲(chǔ)備不夠,中心極限定理一直是生物統(tǒng)計(jì)學(xué)的教學(xué)難點(diǎn)。
若能將中心極限定理的內(nèi)容,通過案例在課堂教學(xué)中進(jìn)行演示或驗(yàn)證,問題將迎刃而解[18]。針對(duì)中心極限定理的內(nèi)容,借助R軟件進(jìn)行4步操作可驗(yàn)證該定理:①構(gòu)建μ=1、σ=1的指數(shù)分布總體;②由指數(shù)分布總體中每次隨機(jī)抽取2個(gè)數(shù)→加和→重復(fù)1 000次→1 000個(gè)和呈偏態(tài)分布;③由上述總體中每次隨機(jī)抽取10個(gè)數(shù)→加和→重復(fù)1 000次→獲得1 000個(gè)和的近似正態(tài)分布;④由上述總體中每次隨機(jī)抽取30個(gè)數(shù)→加和→重復(fù)1 000次→1 000個(gè)和呈正態(tài)分布(圖4)。具體代碼如下:
> set.seed(1)? ? #設(shè)定隨機(jī)種子。
> sample.1 <- numeric(1 000)? ? #創(chuàng)建樣本1,包含1 000個(gè)數(shù)值。
> for (i in 1∶1 000){sample.1[i]=sum(rexp(2))}
#樣本1的每個(gè)數(shù)值是2個(gè)數(shù)值(隨機(jī)取自指數(shù)分布總體)的加和。
> hist(sample.1)? ? #繪制樣本1的頻數(shù)分布圖。
> sample.2 <- numeric(1 000)? ? #創(chuàng)建樣本2,包含1 000個(gè)數(shù)值。
> for (i in 1∶1 000){sample.2[i]=sum (rexp(10))}
#樣本2的每個(gè)數(shù)值是10個(gè)數(shù)值的加和。
> hist (sample.2)? ? #繪制樣本2的頻數(shù)分布圖。
> sample.3 <- numeric (1 000)? ? #創(chuàng)建樣本3,包含1 000個(gè)數(shù)值。
> for (i in 1∶1 000){sample.3[i]=sum (rexp(30))}
#樣本3的每個(gè)數(shù)值是30個(gè)數(shù)值的加和。
> hist (sample.3)? ? #繪制樣本3的頻數(shù)分布圖。
通過在課堂上運(yùn)行上述R代碼,可向?qū)W生清晰展示中心極限定理的內(nèi)容:①取自指數(shù)分布的樣本其和可能服從正態(tài)分布;②樣本量(n)由2增大至30的過程中,樣本和的分布不斷逼近正態(tài)分布(圖4)。
在生物統(tǒng)計(jì)學(xué)課堂教學(xué)中,利用R軟件進(jìn)行運(yùn)算、抽樣、數(shù)據(jù)可視化以及驗(yàn)證定理,可促進(jìn)教學(xué)進(jìn)程并幫助學(xué)生消化課堂知識(shí)。然而,這些只是R軟件應(yīng)用的冰山一角。隨著教師對(duì)R軟件的不斷熟悉,R語言編程能力不斷提升,R軟件還可用于交互式數(shù)據(jù)分析和探索[8]、幻燈片制作、課程資料的搜集與整理、作業(yè)修改、課程考試和視頻制作等;教師甚至可以根據(jù)自己的工作需要,編寫相應(yīng)的R函數(shù)與程序包以滿足特定的課程需求。
生物統(tǒng)計(jì)學(xué)課程涉及抽象的數(shù)學(xué)公式、概率理論和分析方法,對(duì)生物學(xué)、農(nóng)學(xué)、林學(xué)等專業(yè)的教師授課亦或是學(xué)生學(xué)習(xí),都頗具挑戰(zhàn)性[3,14]。生物統(tǒng)計(jì)學(xué)課程的教學(xué)過程中引入R軟件,可方便教師備課、授課,也能幫助學(xué)生理解統(tǒng)計(jì)學(xué)知識(shí),激發(fā)學(xué)生使用軟件解決統(tǒng)計(jì)學(xué)問題的興趣,提高生物統(tǒng)計(jì)學(xué)課程的教學(xué)效率[19]。生物統(tǒng)計(jì)學(xué)課程與R軟件存在相輔相成的關(guān)系,軟件有益于教學(xué)效果的提升,而教學(xué)中使用R有助于該軟件的推廣。
R軟件具有強(qiáng)大的統(tǒng)計(jì)分析與作圖功能,在科學(xué)研究領(lǐng)域已逐漸取代Excel、SPSS、SAS等成為數(shù)據(jù)分析的主流軟件[20]。借助R軟件的專業(yè)功能,能提高教學(xué)效率,因而在生物統(tǒng)計(jì)學(xué)的教學(xué)過程中使用R軟件將成為趨勢[7]。當(dāng)然,也有觀點(diǎn)認(rèn)為,R軟件需要代碼驅(qū)動(dòng),使用門檻相對(duì)較高[21];但若能識(shí)記R軟件的常用函數(shù)并掌握其基本語法,就能駕馭好R軟件,且經(jīng)常使用R軟件有助于用戶學(xué)習(xí)計(jì)算機(jī)編程語言,從長遠(yuǎn)看這反而成為R軟件的優(yōu)點(diǎn)。當(dāng)然,對(duì)于生物統(tǒng)計(jì)學(xué)入門階段的學(xué)生來說,同時(shí)學(xué)習(xí)統(tǒng)計(jì)學(xué)理論與R語言,內(nèi)容較多會(huì)略顯困難[19]。這就要求教師掌握學(xué)生的學(xué)習(xí)情況、把握好教學(xué)進(jìn)度,并督促學(xué)生課外進(jìn)行自主學(xué)習(xí)。
參考文獻(xiàn)
[1] 王濱生,劉寧寧. 引導(dǎo)就業(yè)價(jià)值取向 提高就業(yè)指導(dǎo)能力——評(píng)《人力資源與大數(shù)據(jù)分析——新時(shí)代HR必備的分析技能》[J]. 山西財(cái)經(jīng)大學(xué)學(xué)報(bào),2020,42(12):134.
[2] JOHNSON R R,KUBY P J. Elementary statistics:a step by step approach[M]. 10th Edition. New York:Thomson Learning,2007.
[3] SONG S. QIAN,著.曾思育,譯. 環(huán)境與生態(tài)統(tǒng)計(jì):R語言的應(yīng)用[M]. 北京:高等教育出版社,2011.
[4] 朱永平,和鳳美,趙自仙,等. 生物統(tǒng)計(jì)學(xué)教學(xué)改革探索與實(shí)踐[J]. 教育教學(xué)論壇,2022(43):77-80.
[5] 趙鵬,謝益輝,黃湘云. 現(xiàn)代統(tǒng)計(jì)圖形[M]. 北京:人民郵電出版社,2021.
[6] 薛毅,陳立萍. 統(tǒng)計(jì)建模與R軟件[M]. 北京:清華大學(xué)出版社,2007.
[7] 張哲,張豪. 淺談R語言在生物統(tǒng)計(jì)學(xué)教學(xué)中的應(yīng)用[J]. 教育教學(xué)論壇,2013(27):54-55.
[8] 段煉,張瑞杰,張明明,等. R語言在生物統(tǒng)計(jì)學(xué)課程教學(xué)中的應(yīng)用[J]. 黑龍江科技信息,2017(8):61.
[9] 陳凱. 基于R語言的《生物統(tǒng)計(jì)學(xué)》課程教學(xué)改革初探[J]. 保山學(xué)院學(xué)報(bào),2018,37(5):93-95.
[10] ROBERT I. KABACOFF,著.高濤,肖楠,陳鋼,譯. R語言實(shí)戰(zhàn)[M]. 北京:人民郵電出版社,2013.
[11] Paradis M. R for Beginners[M]. New York:Thomson Learning,2002.
[12] 蓋鈞鎰. 試驗(yàn)統(tǒng)計(jì)方法[M]. 4版. 北京:中國農(nóng)業(yè)出版社,2013.
[13] 楊麗,孫少寧. 淺析“課程思政”理念下《生物統(tǒng)計(jì)學(xué)》教學(xué)改革[J]. 熱帶農(nóng)業(yè)工程,2022,46(3):118-119.
[14] 陳進(jìn)卿. 農(nóng)科生物統(tǒng)計(jì)學(xué)課程教學(xué)改革探討[J]. 教育教學(xué)論壇,2022(6):49-52.
[15] WICKHAM H. Ggplot2:elegant graphics for data analysis[M]. New York,NY:Springer New York,2009.
[16] 王維,向瀚淋,龔雯麗,等. 常見分布中心極限定理適用樣本量研究[J]. 高師理科學(xué)刊,2021,41(7):20-25.
[17] 陳希孺,倪國熙. 數(shù)理統(tǒng)計(jì)學(xué)教程[M]. 合肥:中國科學(xué)技術(shù)大學(xué)出版社,2009.
[18] 吳婷,普映娟. R語言在概率統(tǒng)計(jì)課堂教學(xué)中的應(yīng)用——中心極限定理隨機(jī)模擬[J]. 保山學(xué)院學(xué)報(bào),2022,41(5):69-76.
[19] 李蘭芝,陳淵,易圖永. 淺談《R語言與生物統(tǒng)計(jì)學(xué)》的“慕課學(xué)習(xí)+翻轉(zhuǎn)課堂”教學(xué)模式[J]. 教育教學(xué)論壇,2019(3):193-194.
[20] 張春龍. 統(tǒng)計(jì)分析工具和R語言在科學(xué)研究中的應(yīng)用比較[J]. 科技創(chuàng)新導(dǎo)報(bào),2017,14(31):113-114.
[21] 高天書. 常用金融建模軟件:施用意義、使用難點(diǎn)與適用場域——以SPSS、MATLAB、R語言為例[J]. 金融理論與教學(xué),2020(4):48-53.
(責(zé)編:張宏民)