APP下载

浅谈生物统计学本科生SAS软件高级编程课程学习心得

2017-12-26杨璐郁可沁齐进魏永越赵杨于浩陈峰张汝阳

教育教学论坛 2017年52期
关键词:生物统计学学习心得本科生

杨璐+郁可沁+齐进+魏永越+赵杨+于浩+陈峰+张汝阳

摘要:《SAS软件高级编程》是生物统计学本科生的一门必修专业技能课程。该课程难度系数较大,且不易掌握编程的精髓。笔者就课程学习总结个人心得,给出编程方法、编程策略、查询工具和训练方式四点体会和建议。

关键词:生物统计学;本科生;SAS软件高级编程;学习心得

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2017)52-0185-02

南京医科大学每年面向全国招收30名左右生物统计学专业本科生,四年制,授予理学学士学位。该专业的人才培养目标是“培养适应我国社会经济发展要求的生物统计学专业技术人才,具有深厚的人文底蕴、严谨的科学精神、强烈的创新意识、较高的政治素养和高度的社会责任感,同时具有一定的基础医学、临床医学基本知识,掌握现代统计学基本理论、基本方法,具有获取信息、数据管理、数据分析和结果表达的能力,熟练掌握数据管理软件和统计学分析软件,能够从事卫生统计、医学统计、生物统计、数据管理等工作,为医学、生物学科学研究、卫生决策提供咨询服务的复合型拔尖创新人才和应用人才”[1]。

根据专业课程设置,本科生在第3学年的第1学期需要学习《SAS软件高级编程》课程。该课程是《SAS应用基础》的进阶课程,共72学时,旨在培养本科生的编程思维,传授编程技巧,提高数据管理和分析的专业技能,达到“技术高、速度快、失误少”的业务水平,满足生物医学领域专业人才的需求。

SAS软件是一个模块化、集成化的大型应用软件系统,在国际上已被誉为统计分析的标准软件,广泛应用于各个领域。《SAS软件高级编程》是一门难度系数较高的课程。在学习过程中,有人才短思涩,百思不得其解;有人文思敏捷,编程行云流水。笔者根据自身学习经验和操作体会,现将该课程的学习心得总结如下。

一、最好的编程方法:寻找规律

SAS宏程序最核心的功能是让电脑自动完成大量“重复性”的工作,以解放人的双手。宏程序中起作用的关键语句便是循环体。借助循环体中的循环、条件判断、跳转、中止语句可以实现所谓的“自动化”。因此,程序员要仔细揣摩期望实现的事情,寻找其中的规律。只要有规律,就可以通过程序实现。

例如:如何以最快的方式从1—1024之间找到目标值704?我们可以利用“二分法”思想检索目标值。其思路如图1所示:第1、2步先判断上下限是否为目标值。结果为“否”,第3步计算上下限均值512。因512<704,则将范围更新为512—1024,第4步计算新的上下限均值768。因768>704,则将范围更新为512—768,第5步计算新的上下限均值640。因640<704,则将范围更新为640—768,第6步计算新的上下限均值704。因704为目标值,检索中止。

从二分法的思路可以看出一个规律:通过不断比较当前上下限均值与目标值的大小,更新上限或者下限,以缩小检索范围。按照此规律,我们可以设计以下SAS宏程序,其思路是:(1)设定上限、下限宏变量分别是L和U,初始值分别是L=1,U=1024。先判定L、U是否是704。如是,程序中止;否则,进入下一步循环。(2)计算一个当前上下限的中间值M=(L+U)/2。若M<704,则将新的下限L设定为M;若M>704,则将新的上限U设定为M。(3)若M等于704,则中止循环,否则,重复第(2)步骤。 二、最好的編程策略:分而治之、逐个击破

实际工作中,程序员面临的问题往往比较复杂。一般情况下不太可能用一个特别冗长的程序解决所有的问题。程序过长不仅会给阅读和调试增加难度,后期维护和更新也不太方便。笔者推荐采用“分而治之、逐个击破”的思路对复杂任务进行分解。换言之,撰写多个拥有特定功能的小型宏程序,然后再将其“组装”起来,形成一个功能复杂的大型宏程序。

例如:撰写一个宏程序用于分类资料的描述与比较(图2)。笔者所撰写的宏实则调用了5个子宏。这5个子宏分别行使以下功能:(1)对分类资料进行频数统计,给出R×C的列联表。(2)若数据集中的行变量、列变量取值水平比用户指定的取值少,则在列联表中自动补齐。(3)指定行(列)百分比存放的位置,频数右侧一列,频数下方一行或与频数同一单元格。(4)按用户指定的行变量、列变量取值水平展示列联表。(5)按指定的统计学方法进行假设检验。

三、最好的查询工具:帮助文件或者搜索引擎

SAS软件涉及非常多的过程、语句、选项、函数等。程序员不太可能完全记住所有的内容。笔者认为这并不影响你成为一个优秀的程序员。因为,我们在任何时候都可以进行查询。SAS软件以结构树的形式给出了极为详细的帮助文件。用户可以检索关键词的形式,在帮助文件中查询任何所需要的信息。帮助文件不仅有原理和语法介绍,甚至还给出了具体的例子,特别容易理解。

此外,当问题较为特殊时,程序员可以借助搜索引擎从网络上获取帮助。笔者一直坚信“自己所碰到的问题一定是别人同样碰到过且已经解决的问题”。你会惊讶地发现多数情况下,已经有热心的网友给出了问题的答案。若实在未能找到现成的答案,笔者建议用户可以在论坛中在线求助,例如“经管之家”(http://bbs.pinggu.org/)。

四、最好的训练方式:勤实践、多思考

熟悉并精通一门统计软件或者编程语言是每一个统计学工作者必备的技能。笔者建议在实施某一具体项目中,不断提高编程技能,而不是仅仅阅读书籍、纸上谈兵[2]。此外,实践中需多加思考,尽可能用宏程序去“偷懒”,提高工作效率,以减轻自己本人的工作量。俗话说“熟能生巧”。宏程序写得足够多以后,一定会对特定问题的处理形成编程的条件反射,达到“如鱼得水”的境界。

因此,要以具体项目为导向,认真思考问题,寻找事件规律,分解编程任务,培养专业的程序员思维;并且,平时反复实践操作,灵活运用查询工具,形成高效的编程条件反射,提高SAS软件高级编程水平。当然,这些仅仅是笔者学习的个人心得,并非具有通用性,还需要考虑个体差异,因人而异,量体裁衣,寻找最合适自己的途径。

参考文献:

[1]赵丽萍,赵杨,于浩,胡志斌,陈峰.生物统计学本科专业人才培养方案的设置与思考[J].中国卫生统计,2015,32(2):364-365.

[2]魏永越,赵杨,柏建岭,富春枫,于浩,陈峰.SAS ODS及RTF标记语言在临床试验规范化统计报表输出中的应用[J].中国卫生统计,2010,27(4):428-430.

猜你喜欢

生物统计学学习心得本科生
省林草局召开年轻干部学习心得交流会
保持心态,踏实学习,轻松迈入清华园——2021年河南省高考理科考得比较好的同学谈高中学习心得
我的英语学习心得
我的英语学习心得
Excel在《生物统计学》二项分布概率计算中的应用与探讨
Excel在《生物统计学》配对设计t检验中的应用与探讨
水产类生物统计学课程特色建设与教学改革
注重统计思维培养与应用为主导的生物统计学课程建设
中医药大学本科生流行病学教学改革初探
探索如何提高药学本科生实习的质量