本来我可以起个骚气一点的名字
那一晚,我灌醉了这个男人,逼他说出了所有真相
但是那样很无聊,而且我不觉得有趣,我现在想做的就是,如何成为一位优秀的称职的R语言讲师。
其实我的目标是,中国会做实验的临床医生中最优秀的R语言老师。 这个是可以完成的。
一维世界比的是长度,二维比的是面积,三维空间比的是体积,我限定了实验,临床,R语言这三个维度,已经是很小的世界了。
就跟微博起初限定140字发言,大部分QQ空间用户不能理解一样, 我的课程被限制在3个小时当中,可是3个小时能学啥呢?别人不都是2天48小时的课程么?
最终时间会给出答案,入门R语言,不需要2天,3小时应该够了
能想象么,学英语到了最后最大的瓶颈是自身母语的水平。 R语言学到最后限制我们的是统计知识和研究背景。 看!
把基本的数据结构操作搞懂,能够写循环,知道如何控制条件,能写函数,会用包这已经算是掌握R语言了,
而包的使用就是看看说明,知道他输入什么数据,处理什么数据就可以了。
但是,输入的数据如何控制,叠加在数据上的算法如何选择,输出的数据如何通俗易懂,这已经超出R语言的范畴,跟我们自身相关。
Y叔说,写包是一个自然而然水到渠成的过程,能力到达那一步,如果有点造福别人的大侠情谊,就提笔写包了
以Y叔的标准来看,假如你掌握了R语言的操作,你有深厚的背景知识,你是能够写出你这个领域大部分包的,至少是重复。
R语言的一大优势就是包多,而包的产生首先是因为懒,程序员写了几个函数,但是每次复制粘贴又嫌麻烦,就打包呗,
写的差的包自己当代码储存器用,写得好的包给大家用。
但是,那些处理的过程,我们并不知道,我自己写个做TCGA单基因GSEA的包,这里面数据的标准化,格式,只有我自己知道,但是恰恰是你做选择时用到的知识最重要。
买股票的时机很重要,判断购买时机的知识更重要,跟着别人买很简单,如果自己做决定,很困难
跟着导师做科研,很简单,完成手上的事情是最低要求,但是如果自己做科研,一双手套都要自己掏钱,又很困难
锁上的钥匙掉了,盯着锁看是没有用的,解决问题的方法永远在另外一个地方
回到R语言的学习,我没有看过哪个人的R语言是别人教出来的,所有的都是自己学出来的,你遇到一个实际问题,去检索,得到多个方案,自己该用包就用包,
该写函数就写函数,该调试就调试,最终把问题解决了,这里面R语言的本身起的作用是及其微小的
R 语言以及其他语言只是个交流的工具,工具的知识是有限的,而被使用后产生的功能是无限的。
所以现在问题是,如何在2个小时内把R语言的基础知识给学员讲清楚,用半个小时讲一下R包的使用,再用半个小时讲一下R语言进阶的途径。 应该就没有问题了。
但是问题是,
不是每个技术达人都能把别人教会的,自己会和让别人会是一种不一样的境界。
这里面跟语言表达没有也别的关系,难的是如何做到共情,有一种说法叫做,知识的诅咒,即,一旦掌握了某个知识,就再也回不到没有掌握前的状态(如果是自己忘了,除外)
比如,你会游泳,你教不会别人游泳, 比如,你会骑自信车,你教不会别人骑自行车, 最通俗的例子,你甚至无法教会别人如何用筷子,不信你就自己试试看。
简单的原因就是,你忘了自己是如何学会这个技能了,当时你没有记录,事后你不关心。
从这一点看过去,教师是个伟大的职业,他要把这些他自己习以为常的技能完整传授给你,而且是一遍接一遍,一学期接着一学期.
好的老师一定会付出很多心血。
为了做到这件事,我在第一期的时候,认真学习了一套datacamp出的教程,目的就是揣摩别人讲课的思路,我去看高级的老师是如何教学的。
而为了今后在R语言高级课程中能够准确地传授知识,我今天又开始一套哈佛的教程。
实际上我不应该用R语言高级教程这个词语,因为所谓高级,只是因为我们自己不满足现象,试图去解释原理。
假如我们以后有了高级课程,你要记住,你不是来学R语言的,你是来开拓眼界的。
这套哈佛教程有完整的并且免费的视频
Data Analysis for the Life Sciences
https://courses.edx.org/courses/course-v1:HarvardX+PH525.1x+2T2017/b60b30a885934cd5971b6fc620a41657/
所依赖的数据以及书中的代码在这里
PH525x series - Biomedical Data Science
http://genomicsclass.github.io/book/
这套视频是完全可以把你带入门的,而且是从入门到高深。 如果你觉得起步太高,可以试试下面的入门资源:我只推荐两个
第一个是Try R
http://tryr.codeschool.com/levels/1/challenges/1
这是一个交互教程,可以在不按照任何程序的情况下,入门R,可能要花费2个小时
第二个是 swirl
http://swirlstats.com/students.html
是一个R包实现的交互教程。 Y叔曾经推荐过 听说你想学R
https://guangchuangyu.github.io/cn/2017/07/swirl/
学习完了上面的课程可以试一下
Data Analysis for the Life Sciences
https://courses.edx.org/courses/course-v1:HarvardX+PH525.1x+2T2017/b60b30a885934cd5971b6fc620a41657/ 也就是刚刚介绍的
对于其中的R语言数据处理部分可以看看这本,强烈推荐系列,这本书就是对tidyverse这个神包的注释
R for Data Science
http://r4ds.had.co.nz/index.html
如果是生物背景的,必须学习bioconductor的使用 其实刚才那个哈佛系列已经包括了bioconductor,在他的资源推荐里面还有这样一本书
R & Bioconductor Manual
http://manuals.bioinformatics.ucr.edu/home/R_BioCondManual
假如要学习R语言绘图
ggplot2: Elegant Graphics for Data Analysis
https://www.amazon.com/dp/0387981403/ref=cmswsu_dp?tag=ggplot2-20 这本书有中文版
生物信息可视化大神Y叔还当过网红,他有个观点特别好,图就是数据,数据就是图。webinar录播:plotting tree + data
假如学的差不多了,可以进阶一下,我看到谢益辉还有很多大神都会推荐这本书:
Advanced R
https://adv-r.hadley.nz/
学完那一本,你应该有很多函数,代码要分享,可以学习一下如何写包了, Y叔说过,能力到了,写R包是个自然而然的事情, 希望你也有这一天
R packages
http://r-pkgs.had.co.nz/
我介绍的这四本书都是Hadley Wickham大神的,如果你对这个男人有兴趣可以看一下这个网页
Hadley Wickham
http://hadley.nz/
``` 好吧,R语言的资源实在太多,你要有兴趣看一下我写的这个合集
R语言资源汇总
http://guoshipeng.com/2017/10/17/01Rresource/
我们的公众号里面回复“R最强合集”里面有一吨的资源。
希望你不要回复,点开后你会陷进去,变成一个收集狂人, 我们已经过了那个学习资源匮乏的年代, 现在不是找资源,而是要选资源。 后面这些事情都是自然而然的事情, 最难的部分是,学员如何迈出第一步, 迈开腿,管住嘴,人生其实可以有很大不同。
假如克服不了惰性,找个称职的老师,让他在3个小时内轰炸你一下。
优秀的设计很难量化,但是他们确实都有一条金线,就像我手中的坚果pro2
R语言的水平很难估测,但是有一条金线可以区分,就是在门内还是门外,而门永远都是虚掩着的,只要轻轻一推
忘掉那些告诉你,“R语言学习很痛苦,我也是挣扎了很久”的人,
人之所以痛苦,在于痛恨自己的无能,却,总想贪便宜,走捷径。