APP下载

R语言技术在动物行为生态学可视化中的应用

2023-06-21汪国海

现代信息科技 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指数计算