漫谈自由软件R和在生物统计学学习中的运用

时间:2022-04-12 10:20:00

漫谈自由软件R和在生物统计学学习中的运用

生物统计学是应用数理统计的原理和方法处理生物学中的各种数量资料,从而透过现象揭示生物学本质的一门科学,是科学研究与实践应用的基础工具。基于生物统计学在生产实践中的广泛应用及在生命科学研究中的重要作用,国内外大多数学校的生命科学各专业都将生物统计学列为专业基础课或必修课。但是,作为2003年才开始招生的新办专业,中国地质大学(武汉)生物科学专业原来的教学计划中没有“生物统计学”的课程,而设置有56学时的“概率论与数理统计”课程。学生们虽然通过“概率论与数理统计”的课程掌握了数理统计的基本原理和分析方法,但却缺乏数据处理与统计分析的必要训练。从而导致生物科学专业2003~2005级学生的毕业论文中缺乏统计分析,在答辩时也没有试验设计与假设检验的概念。鉴于这一实际情况,2007年生物科学专业的教学计划及时作了必要的调整,增开了生物统计学的课程,并且设为专业必修课。按调整后的新教学计划,2009年下学期生物科学专业大三学生在修完56学时的“概率论与数理统计”课程之后,还将学习32学时的“生物统计学”课程(含16学时的上机实习)。

传统的生物统计学教学过多强调理论的重要性,学生通过查找书后附表设计试验与手工计算,忽视了利用计算机软件进行试验设计和数据统计分析的能力培养,不符合越来越重于计算机技术的现代应用生物统计方法的发展趋势。在十分有限的32个学时内,为使“生物统计学”的授课内容不与“概率论与数理统计”发生重复且更实用,笔者通过对现代应用生物统计方法和统计软件发展趋势的课前调研,发现R软件是一款功能全面又易学的统计软件,含有许多新颖而又实用的统计分析技术与假设检验方法,完全可以满足生物统计学的教学需要,并且没有版权问题。各种概率分布的计算,以及平衡不完全区组、拉丁方与正交表等试验设计,都可以在R软件中完成,使学生可以彻底摆脱手工查表与计算的烦恼。课后关于生物统计学与R软件使用的问卷调查发现,88.2%的学生认为在修完“概率论与数理统计”课程后仍很有必要学习生物统计学和统计软件,92.8%的学生认为自由软件R作为生物统计学的教学软件十分合适,还有86.7%的学生则认为R语言的学习能够对理解统计原理有所帮助。

1统计软件R的介绍

R语言是一门比较新的计算机语言,源自S语言(S-Plus软件中使用)与Scheme语言。基于GNU协议的自由软件R提供了一种使用R语言进行统计分析与图形展示的计算机环境,整合有许多统计工具包[1]。R语言最初由新西兰奥克兰大学统计系教授RossIhaka和RobertGentleman合作编写,由于这两位“R之父”的名字都是以R开头,所以就称之为R语言。R自1993年诞生以来,深受统计学家和计量爱好者的喜爱,被国外大量学术与科研机构采用,其应用范围涵盖了计量经济学、实证金融学、空间统计学、统计遗传学和生物信息学等诸多领域,已经成为主流软件之一。2009年1月7日,《纽约时报》记者AshleeVance题为“DataAnalystsCaptivatedbyR’sPower的文章[2]在科技版发表之后,引起了统计软件R与SAS之争,可见R在统计学界和业界的影响力。

相对于其它统计软件,R的主要特色在于:1)R语言具有自由、免费、开放源代码及统计模块齐全的特征;2)R语言是彻底面向对象的统计编程语言,R中所有计算结果都可以作为对象保存起来,供进一步统计分析与图形展示之用;3)R软件体积小,更新速度快;4)R的扩展性非常强。世界各地的CRAN镜像网站上有许多志愿者提供的非常丰富的工具包,供下载使用。正如Google首席经济学家HalVarian所说,R最优美的地方是你能够修改很多前人编写的工具包的代码做各种所需的事情,实际你是站在巨人的肩膀上。

据统计,2008年12月13日~14日“第一届中国R语言会议”在中国人民大学召开时,共有近70家单位150余人参加;2009年12月召开的第二届中国R语言会议则在北京和上海设有两个分会场,共有90多家单位300余人参加。参会的人员主要来自高校和科研机构,包括在校学生、高校老师、科研所研究员等。

2统计教学中R软件的使用现状

由于R强大的统计计算与图形展示功能,以及自由免费与开放源代码的特点,目前国外许多大学统计相关专业都将R作为教学软件。据笔者调查,国内高校教学中统计软件的使用现状比较混乱,多是采用SPSS或SAS软件,也有使用S-Plus、Matlab、Minitab、Stata、Eviews、Origin、DPS、MSExcel等商业软件,仍有部分高校在统计教学中没有结合与讲授统计软件。国内只有很少一部分高校使用R软件进行统计教学,但是已有48所(不含重复)国内高校的教师或在校学生参加过R会议。

据不完全统计,江西农业大学、清华大学、中国人民大学、华东师范大学、暨南大学、中国地质大学(武汉)等高校已将R语言作为统计相关课程上机实习的计算机软件。其中江西农业大学自2005年开始,就在生物工程与生物技术专业的学生的生物统计学课程中采用自由软件R作为教学辅助工具,并取得了良好的教学效果[3]。

3生物统计学教学与R使用的调查分析

当前,数据分析处理几乎全是使用计算机统计软件完成,在统计方法的实际应用过程中,人们往往不会关注理论推导与计算过程,而是注重统计分析结果的解释。对于非数理统计专业的学生,统计教学过程中不应过多强调理论的重要性,从而忽视了统计思想和数据处理能力的培养。通过课后关于生物统计学与R软件使用的问卷调查发现,参与调查的34位学生中有30位学生(88.2%)认为在修完“概率论与数理统计”课程后仍很有必要学习生物统计学。而没有开设生物统计学课程的2003~2005级学生的毕业论文中,严重缺乏统计分析与假设检验。这充分说明了,纯粹的统计方法与理论教学,越来越不符合借重于现代计算机技术的生物统计学发展趋势。

问卷调查中发现,有96%的学生认为生物统计学与R语言都非常有用,毕业后无论是继续深造还是参加科研或管理工作都能用得上,同样有96%的学生在生物统计学的课程结束后会选择继续学习R语言,有80%的学生认为R语言上级实习的16学时不够用,且有92.8%的学生认为R软件作为生物统计学的教学软件十分合适,86.7%的学生认为R语言的学习能够对学习与理解统计原理有所帮助,67.6%的学生认为C语言的学习基础对学好R语言有所帮助。江西农业大学生物科学与工程学院程新等主持的教学研究课题“基于自由软件平台的生物统计学实践教学研究”,对两个年级共233人分别采用R和SPSS教学效果的比较分析发现,采用R进行教学,激发了学生的学习积极性,提高了学生掌握统计学知识的能力,教学效果比SPSS有了显著提高[3]。因此,可以认为使用R软件作为生物统计学的教学软件是十分合适的。

此外,本次问卷调查中还发现76.5%的学生认为R语言的入门很容易且R软件安装使用起来非常方便;有63.9%的学生认为R语言的一些统计函数特别是绘图函数的参数设置比较麻烦,学习有困难;有81.8%的学生认为很有必要组织出版关于R语言与生物统计学的参考书。与市场上随处可见的关于SPSS或SAS软件的图书相比,由于R软件是一款比较新的统计软件,且是自由软件,目前关于R语言或R软件的图书非常少。截至到2009年底只能够在互联网上搜索到4本与R语言有关的图书,分别是孙啸等著的《R语言及Bioconductor在基因组分析中的应用》(2006年7月,科学出版社出版);王斌会主编的《R语言统计分析软件教程》(2007年1月,中国教育文化出版社出版);薛毅等著的《统计建模与R软件》(2007年4月,清华大学出版社出版);汤银才主编的《R语言与统计分析》(2008年11月,高等教育出版社出版)。这些书籍均以较大的篇幅详细介绍了R语言的基础与使用方法,适宜作为关于R语言的工具书。但是由于这4本书中均未涉及到试验设计与现代应用生物统计方法等方面的内容(实际上,试验设计的内容在生物统计学中占有十分重要的地位),不宜作为生物统计学的上机实习指导书。而且CRAN网站上有多种关于试验设计及其统计分析的R工具包,如AlgDesign、crossdes、conf.design、DoE.base、FrF2等可以自由下载使用。因此,基于R软件在国内愈来愈旺盛的市场需求,笔者认为有关出版社很有必要组织出版关于“现代应用生物统计方法在R语言中的实现”的教参或工具书。

4结论

根据调查结果与科研工作的经验,笔者认为统计的思想或意识比统计理论与方法更重要,使用统计软件R进行生物统计学教学,可使学生不再陷入繁琐的统计查表与计算过程中,从而增强统计思想和数据处理能力的培养。

笔者使用R的最大感受是,不断发现其它统计软件很难实现的统计计算和图形展示方法,在R中则很容易实现,惊喜不断。R最重要的一点是怎么都不会高估它,它允许统计学家做很多复杂的分析,而不需要懂得很多的计算机知识(引自Google统计专家DarylPregibon)。R的应用领域是如此之广,R的使用则“无处不在”。

相对而言,由于SPSS软件比较容易学习掌握,目前,国内还有很多高校在使用SPSS软件。但是,毕竟受其窗口菜单数量的限制,SPSS软件的功能不会很全面。SAS软件虽然要编程,使用较困难,但由于其经过多年的研制开发,功能较全面,权威性强,国内也有不少高校在统计学教学中采用。但是这些商业软件价格昂贵,学生在学习与使用过程中均存在版权问题。而R是没有版权限制的自由软件,统计与计算功能更全面,在医学、生态学、统计遗传学、生物信息学等方面都具有十分丰富的工具包。因此,笔者认为在生物统计学的教学中使用R软件是非常合适的,值得推广。毕竟R是开源软件,使用R的人越多,其可能贡献的函数工具包也越多,R的功能也会飞速增长。