(山西農(nóng)業(yè)大學(xué)信息學(xué)院公共課教學(xué)部,山西 太谷 030800)
在高校數(shù)學(xué)類課程教學(xué)中應(yīng)用最廣泛的有SPSS、MATLAB等[1][2],但是對于學(xué)生自主學(xué)習(xí)而言,這些付費(fèi)軟件的使用會(huì)遇到很大的障礙[3]。R軟件的下載和使用都是免費(fèi)的,具有數(shù)據(jù)處理、計(jì)算及可視化等功能,在國內(nèi)外的各個(gè)知識領(lǐng)域的科學(xué)試驗(yàn)研究及課堂教學(xué)中得到了廣泛應(yīng)用[4]。但是國內(nèi)有關(guān)獨(dú)立院校將R軟件作為概率論與數(shù)理統(tǒng)計(jì)課程輔助教學(xué)軟件的案例鮮有報(bào)道。
獨(dú)立院校雖然是以培養(yǎng)高級技術(shù)應(yīng)用型本科人才為目標(biāo),但是課程設(shè)置方面也很注重理論基礎(chǔ)[5]。概率論與數(shù)理統(tǒng)計(jì)是大學(xué)必修的一門數(shù)學(xué)理論基礎(chǔ)課程,是學(xué)習(xí)許多專業(yè)基礎(chǔ)課的先修課程,對專業(yè)課的學(xué)習(xí)有著很重要的影響。但是由于概率論與數(shù)理統(tǒng)計(jì)課程具有內(nèi)容抽象,計(jì)算復(fù)雜等特點(diǎn);獨(dú)立院校的學(xué)生入學(xué)成績又偏低,尤其是數(shù)學(xué)基礎(chǔ)較差;再加上老師很難在有限的課時(shí)內(nèi)既要完成教學(xué)任務(wù),又能在課堂上留大量的時(shí)間讓學(xué)生反復(fù)練習(xí),諸多因素使得該課程的教學(xué)質(zhì)量一直不是很樂觀。讓抽象的數(shù)學(xué)課變直觀,讓煩瑣的計(jì)算過程變簡單,讓學(xué)生變被動(dòng)為主動(dòng),讓有限的時(shí)間變得“無限”,是概率論與數(shù)理統(tǒng)計(jì)課程改革的方向和目標(biāo)。在多媒體教學(xué)的基礎(chǔ)上,借助軟件輔助教學(xué)也許可以成為大數(shù)據(jù)時(shí)代新的教學(xué)手段。
1976年,John Chambers在貝爾實(shí)驗(yàn)室開發(fā)了S語言,而R可以看作是S的一種實(shí)現(xiàn),是商業(yè)版的SPSS和SAS工具的替代品[6]。用戶可以在R的官方網(wǎng)站Comprehensive R Archive Network(CRAN)免費(fèi)下載和安裝,2017年11月30日已經(jīng)發(fā)布了最新版本R 3.4.3。此外,CRAN中提供了幾千個(gè)第三方的程序包,涵蓋了基礎(chǔ)統(tǒng)計(jì)學(xué),經(jīng)濟(jì)管理、生物信息等多個(gè)方面。此外,R還提供了能夠用于靈活的數(shù)值計(jì)算和模擬的各種數(shù)學(xué)函數(shù),其數(shù)學(xué)計(jì)算方面的功能不比商業(yè)軟件遜色。R語言的界面友好,簡單易學(xué),對統(tǒng)計(jì)學(xué)基礎(chǔ)薄弱、零基礎(chǔ)的編程人員來說很容易入門和掌握??梢姡琑語言與其他常見的商業(yè)軟件相比,更適合進(jìn)入課堂,作為數(shù)學(xué)類課程的教學(xué)輔助軟件。
概率論與數(shù)理統(tǒng)計(jì)課程主要包括概率和統(tǒng)計(jì)兩部分,內(nèi)容多,計(jì)算過程較為煩瑣,即使采用多媒體教學(xué),也很難調(diào)動(dòng)起學(xué)生學(xué)習(xí)的興趣,更無從談起學(xué)習(xí)的積極性和主動(dòng)性。但是如果借助R軟件,將復(fù)雜的運(yùn)算過程通過幾行簡單的代碼來實(shí)現(xiàn),或者把抽象的理論用直觀的圖形來呈現(xiàn),教學(xué)質(zhì)量會(huì)大大提高。下面以實(shí)例的形式來展示R軟件在概率論與數(shù)理統(tǒng)計(jì)課程教學(xué)中的應(yīng)用。
實(shí)例 1考察一種人造纖維在不同溫度的水中浸泡后的縮水率,在40℃,50℃,…,90℃的水中分別進(jìn)行4次試驗(yàn),得到該種纖維在每次試驗(yàn)中的縮水率如表1。問浸泡水的溫度對縮水率有無顯著的影響?
表1 不同浸泡水的溫度下某人造纖維的縮水率(%)
這是一個(gè)單因素方差分析的問題,如果不借助軟件教學(xué),計(jì)算過程相當(dāng)復(fù)雜,而且學(xué)生對縮水率的變化也沒有直觀的認(rèn)識,而如果借助R軟件教學(xué),首先可以做個(gè)箱線圖,直觀地呈現(xiàn)出這組數(shù)據(jù)所表達(dá)的信息,然后通過方差分析檢測是否差異顯著,具體步驟及R代碼如下:
第一步:輸入數(shù)據(jù)
第二步:做箱線圖
結(jié)果顯示(如圖1所示),不同浸泡水溫下纖維的縮水率有一定的差異,且可以看出纖維縮水率隨著浸泡水溫的升高而有所提高。
第三步:做方差分析
結(jié)果顯示,0.01
圖1 不同浸泡水的溫度下的纖維縮水率
實(shí)例 2某企業(yè)生產(chǎn)一種毛毯,1-10月份的產(chǎn)量x(單位:千條)與生產(chǎn)費(fèi)用支出y(單位:萬元)的統(tǒng)計(jì)資料如表2所示,求y關(guān)于x的線性回歸方程。
表2 1-10月份的毛毯產(chǎn)量與生產(chǎn)費(fèi)用支出統(tǒng)計(jì)表
該問題屬于一元線性回歸問題,假設(shè)y=a+bx+e,其中a、b是我們要估計(jì)的參數(shù),具體步驟及R代碼如下:
第一步:輸入數(shù)據(jù)
第二步:進(jìn)行回歸分析
輸出結(jié)果如圖2所示。
圖2 支出關(guān)于產(chǎn)量的回歸曲線
上述兩個(gè)實(shí)例分別介紹了R中aov()函數(shù)和lm()函數(shù)在方差分析和回歸分析中的使用方法,及繪圖函數(shù)boxplot()和plot()的使用方法,這些函數(shù)其他的參數(shù)設(shè)置及具體的使用方法,可以使用函數(shù)help()來搜索。
概率論與數(shù)理統(tǒng)計(jì)是一門較為抽象的課程,學(xué)生們普遍反映難學(xué),面對復(fù)雜的計(jì)算過程和抽象的計(jì)算結(jié)果,頓時(shí)失去了學(xué)習(xí)的興趣。如果采用傳統(tǒng)的教學(xué)方法和手段,不但學(xué)生學(xué)習(xí)的積極性不高,教學(xué)效果也很差。
從前面介紹的幾個(gè)應(yīng)用實(shí)例可見,以R軟件輔助教學(xué),一方面可以讓復(fù)雜的計(jì)算過程用幾行簡單易學(xué)的代碼快速呈現(xiàn),減輕了學(xué)生對該課程產(chǎn)生的恐懼與厭惡感,激發(fā)了學(xué)生的學(xué)習(xí)興趣;另一方面由于R軟件有很強(qiáng)大的可視化功能,可以借助圖形將統(tǒng)計(jì)結(jié)果顯示出來,提高了結(jié)果的可解釋性,進(jìn)一步增強(qiáng)了教學(xué)的直觀效果,使得抽象的教學(xué)內(nèi)容變生動(dòng)了、直觀了、教學(xué)難點(diǎn)不難了,教學(xué)效果得到了顯著提高。此外,學(xué)生從課堂上對R軟件有了初步了解、學(xué)會(huì)運(yùn)用一些簡單R語言解決概率統(tǒng)計(jì)問題的同時(shí),就會(huì)對計(jì)算機(jī)編程語言產(chǎn)生濃厚的興趣。而R軟件具有免費(fèi)、開源、功能強(qiáng)大、簡單易學(xué)等特點(diǎn),顯然是獨(dú)立學(xué)院學(xué)生學(xué)習(xí)計(jì)算機(jī)編程語言的首選。
總之,將R語言融入概率統(tǒng)計(jì)的課堂教學(xué)中,既有利于教師在有限的時(shí)間把抽象的理論知識形象化、具體化、直觀化,也能在激發(fā)學(xué)生對數(shù)學(xué)類課程產(chǎn)生濃厚學(xué)習(xí)興趣的同時(shí),讓學(xué)生掌握一門編程語言,進(jìn)一步提高學(xué)生分析及解決實(shí)際問題的能力,為數(shù)學(xué)建模打下牢固的基礎(chǔ)。
培養(yǎng)綜合應(yīng)用型人才是大多數(shù)獨(dú)立院校的人才培養(yǎng)目標(biāo),而能夠熟練掌握一種計(jì)算機(jī)編程語言又是當(dāng)今許多用人單位對大數(shù)據(jù)時(shí)代大學(xué)生的起碼要求,所以把免費(fèi)開源、簡單易懂的R語言運(yùn)用到概率論與數(shù)理統(tǒng)計(jì)的課堂教學(xué)中,就可以在提高課堂教學(xué)質(zhì)量的同時(shí),讓學(xué)生掌握一門編程語言,并具備基本的數(shù)據(jù)處理和分析的能力,最終為學(xué)校實(shí)現(xiàn)培養(yǎng)應(yīng)用型人才的目標(biāo)提供有力保障。