陳超 潘海燕
摘? 要:R軟件具有強(qiáng)大的統(tǒng)計(jì)分析功能,將R軟件作為輔助教學(xué)手段引入醫(yī)學(xué)統(tǒng)計(jì)學(xué)課程的教學(xué)過(guò)程,能幫助學(xué)生加深對(duì)統(tǒng)計(jì)學(xué)理論知識(shí)的直觀理解,提升教學(xué)質(zhì)量,增強(qiáng)教學(xué)效果。以t檢驗(yàn)這一章節(jié)為例,通過(guò)實(shí)際教學(xué)中的案例探討進(jìn)一步說(shuō)明R軟件輔助教學(xué)的優(yōu)勢(shì)。
關(guān)鍵詞:R軟件;醫(yī)學(xué)統(tǒng)計(jì)學(xué);教學(xué)
中圖分類號(hào):G642 文獻(xiàn)標(biāo)志碼:A? ? ? ? ?文章編號(hào):2096-000X(2021)02-0100-04
Abstract: R software has powerful statistical analysis functions. Using R software as an auxiliary teaching method into the teaching process of medical statistics courses can help students deepen their intuitive understanding of statistical theoretical knowledge, improve teaching quality, and enhance teaching effects. Taking the t-test as an example, the advantages of R software-assisted teaching are further explained through case studies in actual teaching.
Keywords: R software; medical statistics; teaching
醫(yī)學(xué)統(tǒng)計(jì)學(xué)是多數(shù)醫(yī)學(xué)專業(yè)的基礎(chǔ)必修課程之一,該課程涉及方法學(xué)理論知識(shí)較多,計(jì)算量大,是學(xué)生覺(jué)得難度較大的幾門課程之一。如何通過(guò)教學(xué)改革增強(qiáng)教學(xué)效果,提高教學(xué)效率,促使學(xué)生更好掌握統(tǒng)計(jì)學(xué)理論知識(shí),是醫(yī)學(xué)院校統(tǒng)計(jì)學(xué)教師時(shí)常思考的一個(gè)問(wèn)題。該課程要求理論實(shí)踐相結(jié)合,需要利用計(jì)算機(jī)輔助手段開展教學(xué),在此前教學(xué)中,實(shí)習(xí)課常用SPSS軟件對(duì)數(shù)據(jù)進(jìn)行分析。然而在課堂教學(xué)中,一些特殊要求SPSS軟件并不能給出滿意的呈現(xiàn)。本研究以提高教學(xué)效果和學(xué)生的學(xué)習(xí)效率為根本出發(fā)點(diǎn),在教學(xué)過(guò)程中引入R軟件輔助教學(xué),結(jié)合教學(xué)實(shí)際,運(yùn)用任務(wù)驅(qū)動(dòng)的方法,讓學(xué)生更好地理解掌握統(tǒng)計(jì)學(xué)理論知識(shí)。
目前已有很多成功將R軟件運(yùn)用到教學(xué)過(guò)程當(dāng)中的案例,沈新娣[1]和安麗霞等[2]分別在大學(xué)數(shù)學(xué)和概率論與數(shù)理統(tǒng)計(jì)課程引入R軟件輔助教學(xué);劉君娥[3]在統(tǒng)計(jì)學(xué)課程進(jìn)行實(shí)踐。將R軟件運(yùn)用到醫(yī)學(xué)統(tǒng)計(jì)學(xué)教學(xué)實(shí)踐當(dāng)中是一個(gè)合適且值得推薦的方法。本研究將以t檢驗(yàn)這一章節(jié)作為例子進(jìn)行詳細(xì)說(shuō)明。
一、R軟件簡(jiǎn)介
R軟件是一項(xiàng)主要由奧克蘭大學(xué)的Robert Gentleman和Ross Ihaka開發(fā)的統(tǒng)計(jì)計(jì)算系統(tǒng),它提供了一個(gè)開源的統(tǒng)計(jì)編程環(huán)境,并且有一套完整的數(shù)據(jù)處理、計(jì)算和制圖軟件系統(tǒng)[4]。R軟件最大優(yōu)點(diǎn)是用戶能夠使用全球所有優(yōu)秀的統(tǒng)計(jì)軟件包,并且提供數(shù)據(jù)處理環(huán)境?;赗軟件的開放軟件包,在教學(xué)環(huán)節(jié)可以直接調(diào)用函數(shù)實(shí)現(xiàn)計(jì)算功能,十分方便。另外,教師若有新思路講解知識(shí)點(diǎn),R軟件可以通過(guò)修改程序語(yǔ)句展示教學(xué)過(guò)程中需要的過(guò)程或結(jié)果,滿足教學(xué)過(guò)程的需要,有助于學(xué)生直觀理解。
二、醫(yī)學(xué)統(tǒng)計(jì)學(xué)課程的教學(xué)現(xiàn)狀
醫(yī)學(xué)統(tǒng)計(jì)學(xué)課程是高等醫(yī)學(xué)院校大多數(shù)專業(yè)的重要基礎(chǔ)課程之一,對(duì)學(xué)生解決實(shí)際問(wèn)題能力的培養(yǎng)和后續(xù)課程的學(xué)習(xí)起著重要的作用。目前,醫(yī)科院校醫(yī)學(xué)統(tǒng)計(jì)學(xué)課程教學(xué)過(guò)程中,重實(shí)踐輕理論的趨勢(shì)愈發(fā)明顯,這跟專業(yè)特點(diǎn)有關(guān)。大多數(shù)醫(yī)學(xué)專業(yè)的學(xué)生沒(méi)有學(xué)習(xí)過(guò)概率論與數(shù)理統(tǒng)計(jì)課程,統(tǒng)計(jì)基礎(chǔ)理論知識(shí)缺乏,導(dǎo)致學(xué)生對(duì)醫(yī)學(xué)統(tǒng)計(jì)學(xué)課程的一些理論知識(shí)理解困難,進(jìn)而對(duì)課程失去興趣。如何幫助學(xué)生更好理解理論知識(shí)是教師在教學(xué)過(guò)程當(dāng)中需要解決的一個(gè)問(wèn)題。
陸守曾[5]指出目前醫(yī)學(xué)統(tǒng)計(jì)學(xué)整個(gè)學(xué)科的一個(gè)特點(diǎn)是:基礎(chǔ)理論與實(shí)際應(yīng)用密切相關(guān),但前者多處于弱勢(shì)。重視實(shí)踐而忽視理論會(huì)導(dǎo)致學(xué)生知其然而不知其所以然。比如很多學(xué)生學(xué)完該課程知道當(dāng)P<0.05拒絕原假設(shè),卻不明白為何P<0.05等價(jià)于樣本落入拒絕域。在課堂教學(xué)中加強(qiáng)學(xué)生對(duì)理論知識(shí)的理解尤為重要。
三、R軟件在t檢驗(yàn)章節(jié)的具體應(yīng)用
(一)隨機(jī)模擬說(shuō)明Z檢驗(yàn)不適用于總體方差未知且樣本量較小的情況
例1.當(dāng)總體方差未知且樣本量較小時(shí),令樣本方差代替總體方差,若采用Z檢驗(yàn),即Z=■-?滋0/S■,當(dāng)|Z|>1.96或P<0.05,在α=0.05水平下拒絕原假設(shè)。采用Monte Carlo隨機(jī)模擬,運(yùn)用R軟件計(jì)算I型錯(cuò)誤。程序如下:
n<-5? ? ? ? ? ? ? ? ? ?#樣本量為5
miu<-1;delta<-1? ? ? ? ? #均值為1,標(biāo)準(zhǔn)差為1
n1<-0
for(i in 1:100000)? ? ? ? #重復(fù)運(yùn)行{}內(nèi)語(yǔ)句100000次
{
x<-rnorm(n,miu,delta)? #隨機(jī)產(chǎn)生5個(gè)x
mx<-mean(x)? ? ? ? ?#計(jì)算樣本均值
d<-var(x)? ? ? ? ? ? #計(jì)算樣本方差
p<-1-2*abs(pnorm((mx-miu)/(d/n)^0.5)-0.5) #計(jì)算P值
if(p<0.05)n1<-n1+1? ? #若拒絕原假設(shè),結(jié)論出錯(cuò)次數(shù)+1
}
zerror<-n1/100000? ? ? ?#計(jì)算I型錯(cuò)誤
zerror? ? ? ? ? ? ? ? ?#輸出I型錯(cuò)誤
運(yùn)行該程序,輸出結(jié)果為0.12,說(shuō)明α=0.05,n=5,總體方差未知時(shí),采用Z檢驗(yàn)的I型錯(cuò)誤率是0.12,所以在該條件下,Z檢驗(yàn)不適用,需要考慮新的統(tǒng)計(jì)分析方法。
(二)比較總體方差已知與未知的區(qū)別
態(tài)分布更“扁”的分布,稱為t分布。R程序如下:
set.seed(11)
n<-5? ? ? ? ? ? ? ? ?#每次抽樣為5
time<-30? ? ? ? ? ? ?#重復(fù)抽樣30次
x<-matrix(rep(0,n*time),time,n)
mx<-vector(); s<-vector()
for(i in 1:time)
{
x[i,]<-rnorm(n,2,4)? ? ? #均值為2,標(biāo)準(zhǔn)差為4的總體中抽取5個(gè)樣本
mx[i]<-mean(x[i,])? ? ? #計(jì)算5個(gè)樣本的均值
s[i]<-sd(x[i,])? ? ? ? ?#計(jì)算5個(gè)樣本的標(biāo)準(zhǔn)差
}
Z1<-(mx-2)/(4/n^0.5)? ?#總體方差已知,計(jì)算(xl-?滋)/(?滓/■)
Z2<-(mx-2)/(s/n^0.5)? ?#樣本方差代替總體方差,計(jì)算(xl-?滋)/(S/■)
par(mfrow=c(1,2))
hist(Z1, freq=F)? ?#Z1直方圖
lines(density(Z1), col="red")? ?#實(shí)線畫Z1的密度函數(shù)曲線
lines(density(Z2), col="blue")? ?#虛線畫Z2的密度函數(shù)曲線
hist(Z2, freq=F)? ?#Z2直方圖
lines(density(Z1), col="red")? ?#實(shí)線畫Z1的密度函數(shù)曲線
lines(density(Z2), col="blue")? ?#虛線畫Z2的密度函數(shù)曲線
圖1左右圖分別為根據(jù)樣本計(jì)算得到
(三)R軟件協(xié)助探索t分布的特點(diǎn)
例3. 講解t分布的特點(diǎn)。在R軟件中,輸入以下程序,通過(guò)修改自由度df的取值,可觀察不同自由度的t分布密度曲線,讓學(xué)生探索t分布密度函數(shù)曲線與自由度的關(guān)系以及t分布與標(biāo)準(zhǔn)正態(tài)分布的關(guān)系。
df1<-2 #設(shè)置自由度為2
df2<-5 #設(shè)置自由度為5
x<-seq(-5,5,length.out=1000);? ?y<-dt(x,1,0)
plot(x,y,lty=1,xlim=c(-5,5),ylim=c(0,0.45),type='l',xaxs="i",yaxs="i", ylab='density',xlab='',main="The T Density Distribution") #實(shí)線畫自由度為1的t分布密度函數(shù)
lines(x,dt(x,df1,0),lty=2) #自由度為2的t分布密度函數(shù)
lines(x,dt(x,df2,0),lty=3) #自由度為5的t分布密度函數(shù)
lines(x,dnorm(x),lty=4) #標(biāo)準(zhǔn)正態(tài)分布密度函數(shù)
legend(3.4,0.4,c("df=1","df=2","df=5","df=∞"), lty=1:4)
圖2讓學(xué)生直觀了解到t分布的密度函數(shù)曲線關(guān)于x=0對(duì)稱,形狀和自由度有關(guān),在接近0處比標(biāo)準(zhǔn)正態(tài)分布小,遠(yuǎn)離0處比標(biāo)準(zhǔn)正態(tài)分布大,且自由度越大越接近標(biāo)準(zhǔn)正態(tài)分布。課堂教學(xué)中可以通過(guò)修改df1和df2的取值向?qū)W生呈現(xiàn)不同自由度的t分布密度函數(shù)曲線。當(dāng)自由度大于50時(shí),t分布密度函數(shù)曲線和標(biāo)準(zhǔn)正態(tài)分布函數(shù)曲線差距很小。
(四)R軟件比較Z檢驗(yàn)和t檢驗(yàn)原假設(shè),當(dāng)|A|>2.776,t檢驗(yàn)拒絕原假設(shè)。Z檢驗(yàn)拒絕原假設(shè)的可能性較大,犯I型錯(cuò)誤率較大。兩者比較程序如下:
n<-5? ? ? ? ? ?#樣本量,分別輸入5,50,500
miu<-1;delta<-1? ? ? ? ?#均值為1,標(biāo)準(zhǔn)差為1
z1<-0;t1<-0
for(i in 1:100000)
{
x<-rnorm(n,miu,delta)? ? ?#隨機(jī)產(chǎn)生5個(gè)值
mx<-mean(x)? ? ? ? ? ? #求x得均值
s<-var(x)? ? ? ? ? ? ? ? #求x得方差
A<-(mx-1)/(s/n)^0.5? ? ? ?#計(jì)算統(tǒng)計(jì)量
t<-qt(0.975,n-1)? ? ? ? ? #計(jì)算t界值
z<-qnorm(0.975)? ? ? ? ?#計(jì)算Z界值
if(abs(A)>=t)t1<-t1+1? ? ?#判斷是否拒絕原假設(shè)
if(abs(A)>=z)z1<-z1+1? ? #拒絕則犯錯(cuò)次數(shù)+1
}
terror<-t1/100000? ? ? ? ? #t檢驗(yàn)錯(cuò)誤率
zerror<-z1/100000? ? ? ? ?#Z檢驗(yàn)錯(cuò)誤率
terror; zerror
n=5,50,500時(shí),輸出結(jié)果分別為(0.05,0.12),(0.05,0.055),(0.05,0.05),即t檢驗(yàn)I型錯(cuò)誤率為0.05,Z檢驗(yàn)的錯(cuò)誤率隨著樣本量的增加逐漸接近0.05。說(shuō)明t檢驗(yàn)的結(jié)果比Z檢驗(yàn)結(jié)果更加精確,大樣本情況下可以用Z檢驗(yàn)。
(五)R軟件協(xié)助計(jì)算t檢驗(yàn)的P值
例5:計(jì)算出t值之后,根據(jù)自由度df和顯著性水平α,計(jì)算t界值:雙側(cè)檢驗(yàn)用語(yǔ)句qt(1-α/2,df),單側(cè)上界用qt(1-α,df),下界用qt(α,df),其中α為顯著性水平,df為t分布的自由度。程序如下:
alpha<-0.05? ? ? # α=0.05
n<-10? ? ? ? ? ?#樣本數(shù)為10
df<-n-1? ? ? ? ? #自由度
qt(1-alpha/2,df)? ?#雙側(cè)t界值
qt(1-alpha,df)? ? ?#單側(cè)t界值
將t值與t界值進(jìn)行比較可得出結(jié)果,或直接求P值,程序如下:
n<-10? ? ? ? ? ? #樣本數(shù)
t<-1.833? ? ? ? ? #計(jì)算得到的t值
p<-pt(t,n-1)
twop<-1-2*abs(p-0.5)
onep<-2*twop
twop? ? ? ? ? ? ?#雙側(cè)P值
onep? ? ? ? ? ? ?#單側(cè)P值
四、結(jié)束語(yǔ)
醫(yī)學(xué)專業(yè)的學(xué)生概率統(tǒng)計(jì)的知識(shí)基礎(chǔ)不扎實(shí),剛接觸t檢驗(yàn)這一章節(jié),對(duì)知識(shí)點(diǎn)的理解比較吃力,尤其是分位點(diǎn)函數(shù)、累計(jì)分布函數(shù)這些專業(yè)概念,導(dǎo)致對(duì)理論知識(shí)難以理解。本研究針對(duì)該特點(diǎn),通過(guò)在課堂中引入R軟件協(xié)助教學(xué),從問(wèn)題出發(fā),借助R軟件讓學(xué)生直觀理解抽象的理論知識(shí),引導(dǎo)學(xué)生思考探索,提高教學(xué)質(zhì)量。
引入R軟件輔助教學(xué),既能運(yùn)行程序語(yǔ)句輔助案例講解,加深學(xué)生對(duì)知識(shí)點(diǎn)的理解,又能簡(jiǎn)單快速計(jì)算結(jié)果,提高學(xué)生運(yùn)用統(tǒng)計(jì)知識(shí)解決實(shí)際問(wèn)題的能力,并且能將理論知識(shí)和實(shí)際操作聯(lián)系起來(lái),大大提高學(xué)習(xí)效果,幫助學(xué)生更好地學(xué)習(xí)t檢驗(yàn)。
參考文獻(xiàn):
[1]沈新娣.基于R軟件的數(shù)學(xué)實(shí)驗(yàn)在大學(xué)數(shù)學(xué)教學(xué)中的應(yīng)用初探[J].衛(wèi)生職業(yè)教育,2018,36(06):77-79.
[2]安麗霞,盧丑麗,燕揚(yáng).初探R軟件在獨(dú)立院校概率論與數(shù)理統(tǒng)計(jì)教學(xué)中的應(yīng)用[J].大學(xué)教育,2018(09):102-104.
[3]劉君娥.R軟件在統(tǒng)計(jì)學(xué)教學(xué)中的應(yīng)用——以因子分析模
型為例[J].廣西科技師范學(xué)院學(xué)報(bào),2019,34(03):149-152.
[4]薛毅.統(tǒng)計(jì)建模與R軟件[M].北京:清華大學(xué)出版社,2007.
[5]陸守曾.對(duì)醫(yī)學(xué)統(tǒng)計(jì)學(xué)應(yīng)用現(xiàn)狀的四點(diǎn)看法[J].中國(guó)衛(wèi)生統(tǒng)計(jì),2010,27(02):114-115.