?

R語言技術在動物行為生態學可視化中的應用

2023-06-21 21:18汪國海
現代信息科技 2023年1期
關鍵詞:R語言可視化分析

摘? 要:隨著經濟社會的快速發展,動物行為生態學數據的收集方法更趨向于綜合化和復雜化,致使獲得實驗數據信息呈現爆發式增長并不斷積累,對深度挖掘實驗數據的軟件要求越來越高;而常用的數據處理軟件很難滿足對大數據的充分挖掘和處理,致使許多數據被忽略且可視化效果不佳。將R語言與動物行為生態學課程教學相結合,既能滿足學生對可視化分析的需求,又能加深學生對交叉學科知識點的理解。

關鍵詞:動物行為生態學;R語言;可視化分析

中圖分類號:TP39;G642? 文獻標識碼:A? ? ? 文章編號:2096-4706(2023)01-0093-03

Application of R Language Technology in the Visualization of Animal Behavioral Ecology

WANG Guohai

(College of Chemistry and Bioengineering, Guangxi Minzu Normal University, Chongzuo? 532200, China)

Abstract: With the rapid development of economy and society, the collection methods of animal behavioral ecology data tend to be more comprehensive and complex, resulting in the explosive growth and continuous accumulation of experimental data information. The requirements for the software of deeply mining experimental data are higher, while the commonly used data processing software is difficult to meet the fully mining and processing of big data. As a result, a lot of data are ignored and the visualization effect is poor. Combining R language with the course teaching of animal behavioral ecology can not only meet the needs of students for visual analysis, but also deepen students' understanding for the interdisciplinary knowledge points.

Keywords: animal behavioral ecology; R language; visual analysis

0? 引? 言

動物行為生態學是一門集動物行為學與生態學交叉的綜合性學科,是研究動物行為類型和功能、適合度和進化過程的科學,并涉及生理學、遺傳學、進化論和社會學的學科。對其特征進行分析不僅可以掌握動物行為的時空變化,還能在此基礎上進行延伸研究動物個體生長與環境間適應性[1]。雖然動物行為生態學在生態學專業發展中具有重要的意義,但目前很多高校生態學專業基本上未開設動物行為生態學這門課程,即便開設了此課程但也只是將其作為選修課,導致有些學生根本不知道開設有此課程。其次,動物行為生態學課程學習目標不僅要求學生掌握堅實的理論基礎,同時還要熟練掌握在野外環境下觀察、記錄和分析野生動物行為數據的能力[2];但隨著人類活動干擾的不斷擴大,野生動物數量和棲息地不斷縮小和破碎化,加之野外環境下未知風險多,高校任課教師在該課程講授過程中都傾向于室內的基礎理論講解,導致學生無法將課堂中學到的研究方法實地用于觀察和收集動物行為數據中,從而降低學生對該門課程的學習興趣。最后,以往的動物行為數據收集方法都是采用焦點動物掃描法或瞬時掃描法,數據分析時大多數都是以2 h為間隔將1 d劃分為12個時間段后再計算各時間段的相對多度來反映動物的行為變化[3],這種方法常會因樣本量不足而對結果產生重要影響,同時也難以對結果進行良好的可視化分析。

隨著社會經濟技術的快速發展,目前對動物行為數據的收集方法更趨向于綜合化和復雜化,如紅外相機技術具有靈敏度高、可持續性和隱蔽性強等特點,可在不干擾研究對象的前提下連續24 h不間斷的工作,從而能獲得大量的動物行為數據(種群年齡結構、數量及活動時間等)[4]。但以往常用的數據處理軟件如SPSS、SAS、MATLAB、Minitab、Stata和Origin等很難滿足對大數據的處理和可視化分析,同時也極大地制約了學生的主觀能動性,不利于學生科研實踐能力的發展。因此,如何簡單、高效且充分的挖掘動物行為生態學數據中所蘊含的科學問題及如何將這些數據進行可視化,成為生態學科研工作者面臨的重要挑戰,也是高校生態學專業人才培養所必須注重的能力之一。

R語言技術是一個集數據分析、統計計算、制圖以及可視化的優秀程序設計軟件[5]。與其他軟件相比,具有好學易懂、操作性強、開源免費、可開展交互式數據分析及強大的圖形輸出功能等優勢[6,7]。鑒于R語言技術的這些突出優勢,將R語言的數據分析及可視化功能應用到動物行為生態學具體的教學實踐中,這對于實現和提高動物行為生態學的課程教學目標和質量具有重要意義。但目前許多高校針對生態學專業開設的數據分析與處理課程和教材都十分匱乏,非常不利于學生數據分析和科研思維能力的培養。因此,本文通過案例分析的方式說明R語言在動物行為生態學數據可視化中的應用優勢,以期為動物行為生態學的研究者和師生提供借鑒。

1? R語言在動物行為生態學數據可視化中的應用優勢

R語言最初由新西蘭奧克蘭大學統計系的Ross Ihaka和Robert Gentleman及其他志愿者以S語言環境為基礎共同開發的一個自由開放、免費獲取,并集數據 處理、統計分析和繪圖功能為一體的開源軟件[8]。R語言可以通過其網站或者鏡像中自由下載,而且R語言具備完善的數據類型和交互式的數據分析能力,尤其是強大的擴展能力和豐富的功能選項,可以幫助使用者開發自己獨特的工具及方法,從而實現對不同類型數據的可視化分析[9]。

R語言在動物行為生態學課程教學可視化中具有以下優勢:

(1)R語言安裝簡便、兼容性強,能運行于UNIX、Windows和Macintosh的操作系統上,且對電腦系統配置要求不高。課堂中學生使用筆記本電腦就能實現對動物行為生態學數據進行分析,一方面既能將抽象的理論知識和實踐相結合,打破學生對動物行為生態學高度抽象性和理論性的思維定式,提高學生對交叉學科知識點的掌握程度;另一方面,通過學習各種R語言擴展包的使用原理及安裝方法,使學生熟練掌握不同類型行為生態學數據格式的設置、代碼的輸入及運行過程,提高學生的數據處理能力,為下一步相關專業課程的學習及今后的科研和工作提供幫助。

(2)R語言開源免費的優勢能彌補因高校經費不足而難以獲取正版統計學軟件的缺點。常用的一些統計學軟件如SAS、MATLAB、EViews和SPLUS均是收費軟件,而R語言僅需從CRAN(http://cran.r- project.org)免費下載最新版本的R安裝程序包到計算機上即可使用,能有效地避免因使用盜版的統計學軟件而導致功能不全的尷尬局面。同時R語言擁有完善的社區,擁有數量龐大的志愿者實時對使用者提出的各種統計問題進行答疑解惑[10],且伴隨計算機科學技術的不斷發展而隨時更新、隨時加載大量程序包[11],從而滿足不同階段的學生對動物行為生態學中數據分析處理的需求,具有很強的推廣優勢。

(3)R語言提供的數據挖掘算法程序包能獨立完成所有行為生態學數據的處理和分析工作,降低了不同軟件間的頻繁切換程度;同時R語言擁有強大的繪圖功能,如通過ggplot2程序包運行簡單的編程代碼不僅能繪制常見的條形圖、折線圖、散點圖和餅狀圖等,而且可以編譯出小提琴圖、箱線圖、環形圖、氣泡圖、熱力圖、馬賽克圖、臉譜圖等多種可視化圖形;對于復雜性數據分析,還可以將各功能圖進行疊加、對大批量數據進行交互式、動態式和多維式可視化分析,以此滿足不同研究方向和內容的多元化和可視化分析需求。

例如在分析動物活動節律時,先篩選出動物活動時被紅外相機記錄的具體時間,后通過運行簡單的核密度代碼就能實現可視化分析。該方法以活動比例集中的周期來表示動物的活動高峰,該方法既能降低樣本量不足而對結果產生的影響,同時又能克服了傳統方法造成大量原始數據被浪費的現象,從而更直觀地反映出不同時間段中動物活動強度的變化趨勢(如圖1所示)。

實現代碼如下:

1.install.packages("activity") #安裝“activity”程序包;

2. library(activity)? #將“activity”程序包讀入Rstudio中;

3.install.packages("overlap"); #安裝“overlap”程序包;

4.library(overlap)#將“overlap”程序包讀入Rstudio中;

5.sd<-read.csv("C:/Users/10167/Desktop/sd.csv", head=TRUE)#導入數據;

6.range(sd$time) #選擇數據的范圍;

7.sd$time<-sd$time*2*pi #將時間數據轉化為數值數據;

8.densityPlot(sd$time, rug=F, adjust=1, xlab="time", ylab="Density",lwd=2, main="", ylim=c(0,0.12),cex=2, cex.lab=1.2, pin=c(4,4), side=1, tck=0.03, yaxt="n")+axis(side=2, at=c(0.00, 0.04, 0.08, 0.12), tck=0.04)#繪制基礎圖形并根據圖形的變化修改相應的坐標軸參數。

如在分析不同季節動物活動時間時,除了通過計算平均值和標準差來繪制帶誤差棒的柱形圖外,可以通過使用R語言技術將原始的數據疊加到圖形中,以便更直觀明了的將原始數據的分布形式顯示出來(如圖2所示),從而吸引學生對R語言技術的學習興趣。

實現代碼如下:

1.install. packages ("ggplot2") #安裝“ggplot2”程序包;

2. library (ggplot2)#將“ggplot2”程序包讀入R語言中;

3.ab<-read.csv ("C:/Users/wgh/Desktop/ab.csv") #導入數據

4.ggplot(ab,aes(x=bird,y=remation))+geom_boxplot(size=0.5)+theme_bw()+stat_boxplot(geom="errorbar",width=0.15)+geom_jitter(width=0.2,shape=21,size=2.5)+theme(panel.grid=element_blank())#繪制基礎圖形并修改相應的格式。

如在分析嚙齒動物對擺放在不同喀斯特微生境中各類型種子移除率間的相關性時,除了進行Pearson相關性分析外,可以通過使用R語言技術繪制散點圖矩陣,以便更直觀明了將各組數據間的擬合結果以圖形方式顯示出來(如圖3所示),極大程度的提高學生對數據可視化的興趣。

實現代碼如下:

1.install.packages ("pairs") #安裝“pairs()”函數;

2. library (pairs)#將“pairs()”函數讀入R語言中;

3.as<-read.csv ("C:/Users/wgh/Desktop/as.csv") #導入數據

4.pairs(as[,1:4]#繪制基礎的散點圖矩陣

5. panel.cor<-function(x, y, digits=2, prefix="", cex.cor,...){usr<-par("usr"),on.exit(par(usr)), par(usr=c(0,1,0,1)),r<-abs(cor(x,y)),txt<-format(c(r,0.123456789),digits=digits)[1],txt<-paste0(prefix,txt),if(missing(cex.cor)),cex.cor<-0.8/strwidth(txt),text(0.5,0.5, txt, cex=cex.cor *r)}#繪制各組數據間的相關系數

6. panel.hist<-function(x,...){usr<-par("usr"),on.exit(par(usr)),par(usr=c(usr[1:2],0,1.5)),h<-hist (x,plot=FALSE),breaks<-h$breaks,nB<-length(breaks),y<-h$counts,y<-y/max(y),rect(breaks[-nB],? 0, breaks[-1], y, col= "cyan", ...)}#在面板的對角線上展示各變量的直方圖

7.pairs(as[,1:4], lower.panel=panel.smooth, upper.panel=panel.cor,diag.panel=panel.hist)#繪制最終的矩陣圖形

2? 動物行為生態學課程教學中融入R語言時需注意的問題

R語言作為一門興起的計算機語言,其程序包中的各種統計方法是經過很多科研工作者長期不斷地摸索和積累而總結出來的[12]。因此,在動物行為生態學教學中引入R語言時需要注意以下問題:

(1)由于R語言是一門以計算機知識作為基礎的程序語言,有其自身的語法規則,編寫過程必須遵守,否則會出現警告、異常,甚至出現程序無法運行的情景。相比于計算機專業的學生,生態學專業背景的學生對計算機語言規則的理解能力、敏感性及語言結構等方面都存在較大差異。因此,在教學中引入R語言時應注意設計增加一些R 語言所需的計算機和生物統計學相關知識,以幫助學生更好地理解和掌握R語言代碼的編寫和使用規則,同時需提前對初次學習的學生進行基礎的操作培訓,使其掌握基本的R語言操作入門知識并將其成功應用到具體的數據分析中,從而激發學習的積極性與主動性為后期R語言的順利融入打下前期基礎。

(2)R語言作為一門實踐與理論兼備的課程,在課程設計時應充分考慮理論知識講授與課堂實踐的時間配比,不能僅是一味的長時間教授理論知識而忽略實踐部分,也不能因提高實踐程度而壓縮理論知識的講授,而是應考慮如何將兩者合理有效地結合起來以實現最佳的教學效果。如在完成理論知識講解后,可以設計一個與行為生態學相關的課題來考核學生學以致用的能力,讓學生們用所學的R語言知識對相應的行為生態學數據進行分析,后根據結果并結合已學的生態學知識來分析和解釋導致上述結果的生物學因素。這個過程不僅打破了理論課與實驗課間的鴻溝,將理論教學與實驗操作合二為一,使教學過程變得更為流暢。同時通過動手操作不僅提高了學生的R語言編程及處理數據能力還培養了學生的生物信息學思維,也使學生在短時間內加深對所學知識的理解和掌握。

3? 結? 論

將R語言技術融入動物行為生態學課程教學中,不僅能降低學生對繁雜生態學計算公式的理解難度;同時熟練的掌握和應用R語言可視化技術將復雜的數據以圖形的形式展現出來,不僅能增強了課程教學的視覺效果,還能提高學生對動物行為生態學及相關交叉學科的學習興趣和探索能力,為后期學生的科研和工作打下堅實的基礎。

參考文獻:

[1] 任曉英,孟麗華,張浩,等.動物行為生態學教學與實驗過程研究及建議 [J].綠色科技,2019(1):229-230.

[2] 王琛,王修華.動物行為生態學中觀鳥訓練的教學方法探索 [J].科技資訊,2017,15(17):209-210.

[3] 段曉敏,劉佳,林建忠,等.利用紅外相機對廣西崇左白頭葉猴自然保護區獸類和鳥類資源的初步調查 [J].獸類學報,2020,40(4):380-389.

[4] 汪國海,施澤攀,李生強,等.基于紅外相機技術對帚尾豪豬活動節律和時間分配初步觀察 [J].獸類學報,2019,39(1):62-68.

[5] The R Development Core Team. R:a language and environment for statistical computing [M].R Foundation for Statistical Computing,2016.

[6] 唐凱歌. R語言在大數據審計方面的應用探析 [J].科技經濟導刊,2018,26(8):23.

[7] 姚維,汪國海,林建忠,等.同域分布鼬獾和食蟹獴活動節律的比較 [J].獸類學報,2021,41(2):128-135.

[8] 張哲,張豪.淺談R語言在生物統計學教學中的應用 [J].教育教學論壇,2013(27):54-55.

[9] 張智杰,牛青山.R語言在法庭科學DNA檢驗中的應用現狀 [J].中國法醫學雜志,2021,36(6):634-637+645.

[10] 劉鈺,余卓芮,劉岱寧.R語言可視化的優勢及其在空間統計教學中的應用 [J].高教論壇,2020(5):30-33.

[11] 唐毅,王鳳珍,劉明宇,等.R語言在生物學教學中的應用 [J].教育現代化,2019,6(79):275-276.

[12] 張倩.R語言在綜合評價方法中的應用 [J].教育教學論壇,2019(22):247-248.

作者簡介:汪國海(1986.12—),男,漢族,廣西樂業人,講師,博士,主要研究方向:動植物協同進化。

收稿日期:2022-08-19

基金項目:廣西民族師范學院科研經費支持項目(2021BS002);廣西壯族自治區教育廳第四批民族院校特色學科建設立項建設學科項目(民族生態學)

猜你喜歡
R語言可視化分析
高校學生管理法治化研究:基于CiteSpace的可視化分析
我國職業教育師資研究熱點可視化分析
基于GPS軌跡數據進行分析改善城市交通擁擠
基于R語言的Moodle平臺數據挖掘技術的研究
聲波吹灰技術在SCR中的應用研究
可視化分析技術在網絡輿情研究中的應用
國內外政府信息公開研究的脈絡、流派與趨勢
基于R語言的湖南產業結構對其經濟增長貢獻分析
注重統計思維培養與應用為主導的生物統計學課程建設
人民幣匯率的均值回復檢驗及Hurst指數計算
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合