Runhang Shu

我是怎么入的r坑

Run / 2019-03-15


 早在去年年初,什么r啊,perl啊,蟒蛇啊,牛鬼蛇神一下子出现在我的视野。只记得当时大家都在讨论,编程语言对我们以后科研里面数据分析,做图,宏基因组,微生物组,蛋白质组多么多么重要。我深以为然,但对于一个只会用电脑打游戏,看片的人来说,我迟迟没有下定决心去学。尽管内心已经波涛汹涌许久。

 力赫兄对我说过这么一句话,
  不掌握一两个生物信息方面的技能,你怎么和数以千万计的拿着
  移液枪的科研工作者区分开来?

 这句话是激发波涛的最后一丝暗流。


 那么现在问题来了,现在生物领域火的编程语言那么多,该选哪一个开始入门呢? 这个问题我跑去问了我现在所实习实验室的黄老板,中国香港人,我们一般称他dr.wong。他告诉我,就他们这个实验室而言,r足矣。


好,那就从r开始吧!以下是我学习r两个月来的感悟。
 学习r,就好比学习一门语言,它开源的环境使得任何人懂这门语言的人都可以编写自己的“程序”(在r里面这个叫package,我懒得切换英文,所以后面都称之为程序),再把自己的程序分享到github(我一直喜欢把github比做成百度云,每个人都可以共享你的代码)。
 一来你开发的一个运算程序可以让正在做这方面工作的人借鉴使用。比如,在这篇2015年发表在nc上的文章用到了一个叫pgls的分析方法用于昆虫多样性和食草性的分析,而pgls的方法是在1997年被提出用来分析生物系统发生的,直到最近几年,有人把它的运算编写进了一个叫caper的r程序包。说到这,你可能已经晕了。我们再回到开头这篇nc的文章中,他们就直接用到这个r程序包用于分析他们的数据。值得一提的是,可能是为了caper的功能强大,开发人员还整合了前人开发的ape,mvtnorm和mass程序。几年时间,单是关于caper引用量已经接近300次。
 二来是有了你发表文章时公开数据和程序包,别人可以重复你的实验结果。做生物领域的科研里面很重要的一环就是重复性。毕竟一搞就闹出文章撤稿事件,其因是无法重复,并且数据已经找不到hhh~~关于如何记录数据,如何保存数据,我下次想到了再讨论讨论。
 说到这,我想r的强大对于我们学习生物的自不必多说了。但是,其实r还有一个很强大的功能—-做图。 据不完全统计,10个人做图,有11个人在用ggplot2。关于ggplot2,我目前还在学习,在这里推荐的教材是 r graphics cookbook,是一本托福红宝书级别的书,这本书也有相应的网站免费学习r