R语言数据分析教学总结:初心与收获
Posted EasyDataScience
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言数据分析教学总结:初心与收获相关的知识,希望对你有一定的参考价值。
在第一期R语言数据分析课程结束之际,我以此文总结教学得失,希望为初学者提供另一角度的经验参考。
初心:为什么教R语言数据分析
2015年,我还在沃顿进行本科交换的时候,我现在的导师,Lynn,让我在申请博士前回国学习一下R。这可能是我对于R最早的记忆,在此之前我甚至未曾听说过这个软件,尽管在美国的同学们大多从大一开始就非常广泛地开始接触了。
回国以后我开始四处寻找,但是除了Coursera当时提供一门用英语讲的非常基础的R语言课程以外,我无法找到任何R语言的公开教学资料。当时的我还以为R是很新的东西,找不到资料是正常的。
后来我来到美国读博士,发现几乎所有的课程,不论是统计系、经济系、商学院里的任何系,都使用R语言辅助教学,而且已经是非常成熟的惯例了。我花了很多时间熟悉R语言的基本操作、学习R的高级方法,这中间不知走过多少弯路。
有时一个非常基础的错误,在当时不熟悉编程的情况下,花一整天的时间也没有办法解决。如果刚好赶上要交作业的前一天晚上,我不记得自己有多少次无助地瘫坐在地上。
比如使用Windows电脑的时候读入数据的斜杠要反着打,比如读入数据的时候要设置stringsAsFactors = F,比如变量名字中有括号的时候需要加上一个特殊的引号,比如安装程序包要加引号、调用程序包不需要加引号……
经历了无数惨痛的、无助的夜晚后,我终于慢慢地悟到了R语言的一点哲学,知道如何用程序的逻辑思考问题,知道遇到bug应该怎么解决。
2019年年初的时候,我过去本科的一个同学发微信请教我用R编程的问题。在和他的交流中我发现,虽然过去了将近5年的时间,虽然这5年来人工智能的概念在国内热火朝天,虽然连清华经管的本科统计课程都将R软件作为教学软件,但有关R语言的公开资料依然寥寥可数。
甚至很多在学校学习了R语言的同学,也不知道用R到底能做什么,更不用说充分利用起R高级的操作了。
震惊之余,过去几年里那些痛苦又无助的夜晚在我脑海中一一浮现,我决定制作一门R语言的教学课程,至少给国内的同学们一个学习的机会。最重要的是,我希望使用中文作为授课语言,让更多的中国同学能够利用起这个强大的数据分析工具,尤其在这个数据时代,我们不能落后于西方。
筹备:入门课比顶会论文更难
备课的难度远超我想象,几乎持续了一整年时间。从2019年2月开始,我就在上课和研究之余每天挤出一个半小时准备R语言的讲稿和代码。当时的设想是做成线上课,所以我写的讲稿全部是逐字稿。一个小时的时间可以准备一个小专题,差不多是10分钟的视频。
准备了差不多60份讲稿之后,暑假到了。研究的任务突然加重,回国准备录制课程的时间变得紧张。各种事情一上来,课程的事情就被耽误了下来。
为什么不办一个线下的培训课呢?几天的时间,从R语言最基础的操作到稍微复杂一些的数据分析方法,还有大家比较感兴趣的网络爬虫、机器学习,我相信会有不少同学有学习的需求。而且有之前准备的讲稿做基础,这些内容的PPT应该很快就可以做出来。
场地、食宿、物资等成本之和除以教室容量,是每个学员的均摊成本,我们决定以此定价,并迅速做了宣发,不到4个小时名额就报满了。受到同学们热情的鼓舞,那几天我也非常兴奋,甚至熬夜写了一篇分析双十一数据造假的小文。
课程前期的准备是很充分的。和很多博士的学长学姐一样,教学是一件能让我很兴奋的事情。除了之前准备的60份讲稿以外,我提前十天回到北京,专心准备PPT和代码。即使是在课程期间,我也不断调整我的课件内容,以适应课程的节奏。
不过因为教学经验不足,课程进度偏慢。虽然我已经把语速提得很快了,但是因为R语言数据分析涉及的内容太多,而且在事前我也没能预料到会出现千奇百怪的bug,最后没能有时间展开Excel和VBA的内容,稍微有点可惜。
收获:教学相长,共同进步
我在课程中收获极大。在整理这些编程和数据分析知识的同时,我不仅更加强化了自己对于特定代码和操作的记忆,而且发现并解决了一些过去自己在学习时的遗漏点。有一些细节的问题自己学习时其实没有注意,但是教学时就会发现逻辑的漏洞。
而且,有许多问题自己学习时使用自己的逻辑去理解非常容易,但是准备教学的时候需要考虑到学生们的基础条件,于是就要在语言上格外注意,兼顾准确性与易读性。
尤其是很多时候为了找到理想的解释环境,我需要浏览和分析多组数据,从中找出那些有典型意义的数据,简直像在p hacking(人为调整数据来降低P值以使结果显著)。所谓不养儿不知父母恩,我想,不教学也不知老师恩啊。
第二点就是在上课的过程中,面对同学们千奇百怪的bug,我处理问题的能力得到了极大的锻炼。自己操作R程序和代码的时候是永远不会遇到“网络故障”、“系统不兼容”、“C盘不允许写入”、“数据读不出来”等等这样的问题的。
在帮助同学们debug的同时,我也增进了对于R语言、R程序的理解。这四天来,我成功解决了每一个同学遇到的问题,虽然过程并不顺利,个中艰辛也只有我自己知道。但是每一次成功的瞬间,心中还是会有一股热血沸腾。
上课是个体力活,但是兴趣是支撑一个人最好的动力。上课前几天我经历了一段时间的失眠,可能是因为紧张。而过去这几天每天晚上我回到酒店沾床就睡着了,第二天早上闹钟响的时候又仿佛被人揍醒,看到早餐也只觉得反胃。
如果不是因为喜欢,我想不到还有别的什么事情能让我这样每天保持饱满的热情从早上9点一直持续到下午5点。当然这几天也不是没有收获,我的体重比刚回国时轻了五斤,可以放心过年了。
不知不觉写了很多字,可能是因为原本计划今晚要去大喝一顿,用酩酊大醉来纪念自己过去一年的努力。但是酒不遂人愿,现在的我在酒店房间里,对着电脑,清醒,但思绪万千。
我希望把这个课程做得更好,我希望让更多的人能感受到编程与数据分析的魅力,我希望多年以后回首往事,我不会因为虚度年华而悔恨,能够在把酒言欢的时候低头微笑:“只是在教学上做出了一点微小的贡献。”
王晓宁
2020年1月于清华园
以上是关于R语言数据分析教学总结:初心与收获的主要内容,如果未能解决你的问题,请参考以下文章
R语言heatmap包绘制热力图/生物信息学/基因表达差异陈金文老师手把手教学
生物学霸-SPSS数据挖掘视频教学(送1000份标书+SPSS R语言)