论文部分内容阅读
摘要:R语言是目前比较流行的统计分析语言,是从事相关科学研究工作、进行数据分析所必备的工具。但对于医学生来说,计算机编程基础普遍较薄弱,编程训练不足,对R语言的学习存在心里障碍。因而,如何在医学统计教学中,对学生顺利引入R语言是一个挑战。本文在哈尔滨医科大学基础医学七年制学生的统计学教学实践基础上,初步探索如何在教学环节顺利引入R语言的学习,达到预定的教学效果。
关键词:R语言;医学;教学
1、R语言介绍
R语言(http://www.r-project.org)是一个用于统计计算和统计制图的计算机语言和操作环境,是数据分析的重要工具[1]。上个世纪九十年代,由新西兰Auckland大学统计系的Robert Gentleman、Ross Ihaka和其他志愿者,基于S语言的源代码开发的开源统计学软件,将其命名为R语言。目前,随着医学大数据的出现,R已经成为数据分析的利器,可以应用于临床信息分析、疾病风险因素识别、基因组分析等。R语言具有如下特点:
(1)R语言具有强大的统计分析功能,优秀的画图系统,可以胜任复杂的数据分析、绘制精美的图形,目前主流期刊的数据分析及作图都是使用R语言完成。
(2)相比于目前一些公司开发的统计分析语言如SAS、SPSS等,R语言具有免费、开源的特性,并且占用空间小(只有几十兆大小),运行系统负担小。
(3)R语言具有数目众多、功能强大的扩展包,R语言的扩展包主要存储于CRAN(comprehensive r archive network,http://cran.r-project.org)和Bioconductor(http://www.bioconductor.org)中。这些包涵盖了基础统计学、临床医学、基础医学、生物学、生态学、生物信息学等诸多方面,基本可以满足生物医学数据的统计分析工作。并且随着使用者的增加,用户也可以将自己的工作开发成R软件包,上传到CRAN中供别人使用。共享是R语言的一大特色。
(4)R语言简单易学。R语言是一门高级语言,不像C、Java等需要编写大量的程序,R语言仅需要少数的几行代码就可以解决很多分析问题,同时也保留了一般程序语言的基础逻辑风格。同时,R语言还具有强大的帮助系统,只要在函数前面使用“?”,即可在浏览器弹出帮助资料,每个函数都具有统一的风格,在帮助文档的最后都有运行实例,能够帮助自学。
目前,R语言在科学研究中具有十分重要的地位,对于医学生来说,R语言是其将来工作的利器,接下来我从几方面来探讨在教学中如何对医学生顺利的引入R语言。
2、R语言学习信心的建立
由于医学培养模式的特点,很少开设编程类课程,因此程序基础相对薄弱,面对R语言的第一反应一般为“我不会”、“我不懂”。因此,建立学习上的信心是第一步,也是最重要的一步。对于这一点,我们可以先从统计图形出发,给学生以视觉上的冲击,进而提升对R语言学习的渴望和兴趣。作者,在对哈医大基础医学七年制学生讲授《医药数理统计方法》时,给学生展示出用R语言画的漂亮统计图形、卡通人物形象等,学生对此反响很好,表示出极大的好奇心,这能为后续学习奠定一个良好的心理基础。其次,我们可以手把手的教学生下载并安装R语言,R语言方便快捷的安装方式也能给学生以信心。
3、R语言习惯的养成
排除心理障碍后,还需要每堂课都以所讲统计学内容为例,简单操作实现,让学生认识到“统计学不仅仅是要懂公式,更重要的是要实现”,跳出“算题-考试”的传统模式。习惯是后面深入学习的基础,没有好的思维习惯,R语言的学习也会半途而废,最后成为心理上的负担。例如,讲到卡方检验时,可以用数据模拟出卡方分布的数据,现场生成图像,并以“病例-对照”四格表为例,观察卡方值在背景分布中的位置,进而说明统计检验结果是否显著,说明什么问题等。这样久而久之,学生在碰到每个统计学问题时,就会主动的去想如何操作实现,这一点对学生来说是终身受益的。
4、R语言动手操作能力的培养
学习统计切忌“纸上谈兵”。仅仅上课老师讲解和演示远远不够,每次课后尽量的去布置一点操作实现的题目,可以以先简单后复杂的方式进行。例如,可以在课程的前几节课,先给出R语言简单数据导入导出、画统计分布图、箱式图等简单基本操作。让学生在此过程中能够熟练的掌握一些基本的操作规范,从而建立起对R语言学习的信心和热情。随后,随着不同统计方法的学习,如t检验、卡方检验、非参数检验、回归分析等的进行,可逐一的以作业的方式让学生深入的操作[2]。
5、探讨分析问题策略
当可以使用R语言后,要让学生上升到对统计思想的理解,这是数据分析的灵魂。在教学过程中,可以让学生组成讨论小组,相互探讨解决方案和策略,然后每组派代表讲解思考问题的角度和方法、实现的步骤等。也可以现场让学生评估方案的优点和缺点、是否可以有改进措施等。鼓励学生从不同角度、以不同的方法解决同一个问题,扩展思维和视野。另外,可以将教师平时科研中遇到的一些具体科学问题,提炼出适合学生操作的部分,和同学一起讨论方案和办法。培养学生将生物医学问题和具体操作相互融合的思维,能为早日进入工作状态和形成科学的思维打下基础。
6、引导编程序
在学生有一定的R语言学习基础之后,要适当的引导学生的编程思维,并推荐学生使用其他语言进行学习。当今社会是数据驱动的社会,数据分析是生物医学工作者所必备的能力,编程思维可以使得这一切事半功倍。当学生学会使用少数的几行代码就解决一个统计学问题之后,可以在课后适当的留一些高级作业,如能否自己动手编写函数计算四格表的卡方值,并检查是否与R语言中的自带函数运行出的结果一致,如不一致,差在哪里等。这样,经过一定的训练,就可以掌握自然程序语言的基本规则,也为学习其他数据处理语言,如perl、java、c++、python等的学习打下坚实的基础,为医学生的程序开发铺平道路。熟悉了编程思维之后,不但统计分析方面可以精进,更重要的是具备了工程学的思维,为将来推进医工结合提供了人才的储备。
7、鼓励分享
由于R语言的精神在于分享,因此,学习R语言还可以培养分享精神。当学生会写一些函数的时候,可以鼓励学生找一些经验丰富的导师合作,将导师日常科研中常用的一些方法进行程序化、流程化开发,尝试制作R语言工具包,并撰写说明文档,最后上传到R语言社区CRAN中。在此过程中,学生会从深层次运行机制层面,更加深入的理解R语言的原理。当自己撰写的包被其他同行使用时,会产生一定的价值认同感和自豪感。促进自己升华的同时也促进了R语言社区的发展,可谓一举双得。
8、撰写分析报告
当学生进行完一个基本分析后,要让学生撰写统计分析报告,这对医学生来说是十分重要的一个步骤。生物医学领域最重要的是要解决生物学问题,R语言作为一个必备的工具,最终还是要解决具体问题。撰写分析报告能够将数据分析结果,转化对具体生物医学结论的提取、凝练和深度分析,这也是统计分析学习是否成熟的标志。报告可从如何设计实验、如何采集数据、如何构建零假设和备择假设、如何构建统计量、如何确定显著性水平、如何给出统计结论、如何给出生物医学结论、如何选择合适的统计图、统计表对具体问题进行描述等方面进行撰写。
9、及时总结
经过一段时间的R语言学习后,要及时总结,多问学生学习中遇到的困难和解决办法,可以让学生把这些问题和办法汇总起来,积累素材,为下一次教学提供支撑。在课程结束后,也可以开展问卷调查,进行经验总结和学习效果分析,不断完善提升教学质量。
总之,对于医学生來说,正面临着社会的变革,数据的产出量与日俱增,跟紧时代的步伐是一个医学生面临的挑战。R语言的学习会使得医学生在毕业后从事相关工作变得游刃有余,能够从总体上、从全局角度、以数据为基石理解生命科学问题[3],能够迅速的成长为相关领域的专家,为医学做出巨大的贡献。
参考文献:
[1]张哲,张豪,浅谈R语言在生物统计学教学中的应用,《教育教学论坛》,2013(27):54-55
[2]段炼,张瑞杰,张明明,吕洪超,R语言在生物统计学课程教学中的应用,《黑龙江科技信息》,2017(8):61-61
[3]李雄英,基于R语言的统计教学应用初探,《高教学刊》,2017(1):50-51
关键词:R语言;医学;教学
1、R语言介绍
R语言(http://www.r-project.org)是一个用于统计计算和统计制图的计算机语言和操作环境,是数据分析的重要工具[1]。上个世纪九十年代,由新西兰Auckland大学统计系的Robert Gentleman、Ross Ihaka和其他志愿者,基于S语言的源代码开发的开源统计学软件,将其命名为R语言。目前,随着医学大数据的出现,R已经成为数据分析的利器,可以应用于临床信息分析、疾病风险因素识别、基因组分析等。R语言具有如下特点:
(1)R语言具有强大的统计分析功能,优秀的画图系统,可以胜任复杂的数据分析、绘制精美的图形,目前主流期刊的数据分析及作图都是使用R语言完成。
(2)相比于目前一些公司开发的统计分析语言如SAS、SPSS等,R语言具有免费、开源的特性,并且占用空间小(只有几十兆大小),运行系统负担小。
(3)R语言具有数目众多、功能强大的扩展包,R语言的扩展包主要存储于CRAN(comprehensive r archive network,http://cran.r-project.org)和Bioconductor(http://www.bioconductor.org)中。这些包涵盖了基础统计学、临床医学、基础医学、生物学、生态学、生物信息学等诸多方面,基本可以满足生物医学数据的统计分析工作。并且随着使用者的增加,用户也可以将自己的工作开发成R软件包,上传到CRAN中供别人使用。共享是R语言的一大特色。
(4)R语言简单易学。R语言是一门高级语言,不像C、Java等需要编写大量的程序,R语言仅需要少数的几行代码就可以解决很多分析问题,同时也保留了一般程序语言的基础逻辑风格。同时,R语言还具有强大的帮助系统,只要在函数前面使用“?”,即可在浏览器弹出帮助资料,每个函数都具有统一的风格,在帮助文档的最后都有运行实例,能够帮助自学。
目前,R语言在科学研究中具有十分重要的地位,对于医学生来说,R语言是其将来工作的利器,接下来我从几方面来探讨在教学中如何对医学生顺利的引入R语言。
2、R语言学习信心的建立
由于医学培养模式的特点,很少开设编程类课程,因此程序基础相对薄弱,面对R语言的第一反应一般为“我不会”、“我不懂”。因此,建立学习上的信心是第一步,也是最重要的一步。对于这一点,我们可以先从统计图形出发,给学生以视觉上的冲击,进而提升对R语言学习的渴望和兴趣。作者,在对哈医大基础医学七年制学生讲授《医药数理统计方法》时,给学生展示出用R语言画的漂亮统计图形、卡通人物形象等,学生对此反响很好,表示出极大的好奇心,这能为后续学习奠定一个良好的心理基础。其次,我们可以手把手的教学生下载并安装R语言,R语言方便快捷的安装方式也能给学生以信心。
3、R语言习惯的养成
排除心理障碍后,还需要每堂课都以所讲统计学内容为例,简单操作实现,让学生认识到“统计学不仅仅是要懂公式,更重要的是要实现”,跳出“算题-考试”的传统模式。习惯是后面深入学习的基础,没有好的思维习惯,R语言的学习也会半途而废,最后成为心理上的负担。例如,讲到卡方检验时,可以用数据模拟出卡方分布的数据,现场生成图像,并以“病例-对照”四格表为例,观察卡方值在背景分布中的位置,进而说明统计检验结果是否显著,说明什么问题等。这样久而久之,学生在碰到每个统计学问题时,就会主动的去想如何操作实现,这一点对学生来说是终身受益的。
4、R语言动手操作能力的培养
学习统计切忌“纸上谈兵”。仅仅上课老师讲解和演示远远不够,每次课后尽量的去布置一点操作实现的题目,可以以先简单后复杂的方式进行。例如,可以在课程的前几节课,先给出R语言简单数据导入导出、画统计分布图、箱式图等简单基本操作。让学生在此过程中能够熟练的掌握一些基本的操作规范,从而建立起对R语言学习的信心和热情。随后,随着不同统计方法的学习,如t检验、卡方检验、非参数检验、回归分析等的进行,可逐一的以作业的方式让学生深入的操作[2]。
5、探讨分析问题策略
当可以使用R语言后,要让学生上升到对统计思想的理解,这是数据分析的灵魂。在教学过程中,可以让学生组成讨论小组,相互探讨解决方案和策略,然后每组派代表讲解思考问题的角度和方法、实现的步骤等。也可以现场让学生评估方案的优点和缺点、是否可以有改进措施等。鼓励学生从不同角度、以不同的方法解决同一个问题,扩展思维和视野。另外,可以将教师平时科研中遇到的一些具体科学问题,提炼出适合学生操作的部分,和同学一起讨论方案和办法。培养学生将生物医学问题和具体操作相互融合的思维,能为早日进入工作状态和形成科学的思维打下基础。
6、引导编程序
在学生有一定的R语言学习基础之后,要适当的引导学生的编程思维,并推荐学生使用其他语言进行学习。当今社会是数据驱动的社会,数据分析是生物医学工作者所必备的能力,编程思维可以使得这一切事半功倍。当学生学会使用少数的几行代码就解决一个统计学问题之后,可以在课后适当的留一些高级作业,如能否自己动手编写函数计算四格表的卡方值,并检查是否与R语言中的自带函数运行出的结果一致,如不一致,差在哪里等。这样,经过一定的训练,就可以掌握自然程序语言的基本规则,也为学习其他数据处理语言,如perl、java、c++、python等的学习打下坚实的基础,为医学生的程序开发铺平道路。熟悉了编程思维之后,不但统计分析方面可以精进,更重要的是具备了工程学的思维,为将来推进医工结合提供了人才的储备。
7、鼓励分享
由于R语言的精神在于分享,因此,学习R语言还可以培养分享精神。当学生会写一些函数的时候,可以鼓励学生找一些经验丰富的导师合作,将导师日常科研中常用的一些方法进行程序化、流程化开发,尝试制作R语言工具包,并撰写说明文档,最后上传到R语言社区CRAN中。在此过程中,学生会从深层次运行机制层面,更加深入的理解R语言的原理。当自己撰写的包被其他同行使用时,会产生一定的价值认同感和自豪感。促进自己升华的同时也促进了R语言社区的发展,可谓一举双得。
8、撰写分析报告
当学生进行完一个基本分析后,要让学生撰写统计分析报告,这对医学生来说是十分重要的一个步骤。生物医学领域最重要的是要解决生物学问题,R语言作为一个必备的工具,最终还是要解决具体问题。撰写分析报告能够将数据分析结果,转化对具体生物医学结论的提取、凝练和深度分析,这也是统计分析学习是否成熟的标志。报告可从如何设计实验、如何采集数据、如何构建零假设和备择假设、如何构建统计量、如何确定显著性水平、如何给出统计结论、如何给出生物医学结论、如何选择合适的统计图、统计表对具体问题进行描述等方面进行撰写。
9、及时总结
经过一段时间的R语言学习后,要及时总结,多问学生学习中遇到的困难和解决办法,可以让学生把这些问题和办法汇总起来,积累素材,为下一次教学提供支撑。在课程结束后,也可以开展问卷调查,进行经验总结和学习效果分析,不断完善提升教学质量。
总之,对于医学生來说,正面临着社会的变革,数据的产出量与日俱增,跟紧时代的步伐是一个医学生面临的挑战。R语言的学习会使得医学生在毕业后从事相关工作变得游刃有余,能够从总体上、从全局角度、以数据为基石理解生命科学问题[3],能够迅速的成长为相关领域的专家,为医学做出巨大的贡献。
参考文献:
[1]张哲,张豪,浅谈R语言在生物统计学教学中的应用,《教育教学论坛》,2013(27):54-55
[2]段炼,张瑞杰,张明明,吕洪超,R语言在生物统计学课程教学中的应用,《黑龙江科技信息》,2017(8):61-61
[3]李雄英,基于R语言的统计教学应用初探,《高教学刊》,2017(1):50-51