首先,在这里先跟大家说声对不起,技术团队最近一直在做课程开发,本着宁缺毋滥的原则,我们的微信文章一再搁置,在编辑部催了无数遍之后,终于可以把课程放出来给大家了。
为了增加课程的实用性,在前期课程的基础上,同时综合了很多学员的建议,后续会推出诸多系列课程,比如:科研绘图、高通量测序、数据挖掘、文献精读、R语言与统计等等。
今天,我们就从一门最实用的技术入手,给大家带来一门全新的系列课程:R语言从入门到精通。为了帮大家把这套课程做好,我们特意邀请到一位程序员大牛(文末见个人简介),历时数月,从诸多R语言教材中抽丝剥茧提炼出最精髓的内容分享给大家。
1
什么是R语言?
R语言诞生于上世纪80年代,其前身是S语言,由于S语言是收费的商业软件,新西兰奥克兰大学的Robert Gentleman和Ross Ihaka及其他志愿人员就基于S语言开发了一个R语言。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。
2
为什么要学R语言?
可能很多同学已经听说过R语言,也知道R语言的一些优势,但是绝大多数人可能还不确定R语言值不值得去学习,没办法下定决心去花费时间和精力。那么在这里,我就跟大家谈谈心,我们为什么要学习R语言,学习R语言到底值不值。我用三个“极其”来进行概括。
(1)R语言极其适合统计分析
统计,但凡做科研的,可能都会用到。平时我们都用SPSS、SAS,高级一点的用Matlab,简单一点的用GraphPad,甚至Excel。我可以这样说,这里所有的统计软件都是商业化的付费软件,唯独R语言不是。就从这点上,R语言就已经略胜一筹了。
从使用上来讲,所有的统计分析,包括简单的t检验、单因素/多因素方差分析、线性回归、生存分析等,到复杂的机器学习、神经网络、图像识别,R语言处理起来都是得心应手,其功能远远优于SPSS/SAS等一众统计软件。一句话:只有你想不到,没有R语言做不到的。
(2) R语言极其优秀的绘图功能
R语言中拥有诸多的绘图系统,例如base、lattice、grid、ggplot等。这些绘图系统各有各的特点,比如grid作图系统非常灵活多变,ggplot作图系统画的图非常优雅美观。有人会说,那GraphPad用起来也挺好的呀,作图也挺方便的。不好意思,跟R语言比起来,GraphPad连渣渣都算不上。不信,看看下面的图,GraphPad能做吗?
可以这样确切的说,大家在文献中看到的任何一种图,不管多么复杂高端,用R语言都可以做出来。另外,R语言还支持多种图形输出,最关键的就是非常优秀的矢量图输出哦。
(3) R语言极其全面的扩展功能
说到R语言的强大功能,最离不开的就是R语言数以万计的“插件”,也就是R包(R packages)。前面我们提到R语言一个非常重要的特点:免费开源。在程序员的世界中,凡是开源的东西,都有一个特点,那就是扩展功能全面且更新迭代迅速。先说说什么是R包:“包”就是“打包”的意思,顾名思义,就是把特定的函数和数据封装起来,做成一个“插件”。
不同的R包可以帮我们实现不同的功能,例如:我想做生存分析,就用survival包;想做RNASeq,就用DESeq2包;想做Meta分析,就用rmeta包等等。目前,在R语言的仓库CRAN中,共有14500多个R包,这还不包括在其他仓库,例如Github和Bioconductor等。总而言之,基本上你想做的任何一件事情,都有R包帮你实现。
当然,R语言还有很多其他的优势,从TIOBE世界编程语言排行榜的排名中可以看出,R语言的排名日渐升高,受到越来越多程序员的追捧,足以说明它的实力。而且,现在很多的高校也开始专门开R语言的课程以取代以往SPSS的课程,这也是我们推出这门系列教程的初衷。
3
R语言好学吗?
前面说了那么多,可能已经燃起了大家对R语言的学习兴趣。那么,随之而来的问题就是:R语言容易学吗?我需要花费多少的时间进行学习?在这里,我可以很坦白的告诉大家:R语言是一门编程语言,不是简单的操作软件,所以,R语言的入门并不简单。但是,别灰心,我的话还没说完:R语言入门不简单,但是仅限于入门。
当你搞懂了常用的数据类型、函数、循环与判断、包等几个概念之后,你发现,R语言也就这些东西了。它不像java或者C/C++,学习道路异常的漫长,太多的概念和框架需要学习。R语言有些概念不同于常规的编程语言,所以入门稍微有点烧脑,但是入了门之后,你会发现,你需要学习的东西就那么一点,任何一个R代码拿过来一看就懂。
所以,如果你有充足的时间,一个月就足以掌握R语言的基础。在这个系列课程中,我们按照由易到难、由浅入深的原则,给大家安排了很多实用的内容,帮助大家从入门慢慢精通R语言,特别是在数据挖掘和生物统计中的应用。闲话不说,我们先来看看课程安排,一睹为快吧。
整个课程,我们初步分为6大块,从最简单的R语言环境调试入手,到编程基础,再到实际应用,以实例为基础,给大家讲解最原汁原味的R语言编程在生物医学当中的应用。从简单的1+1到复杂的机器学习,简直是“一文在手,天下我有”的感觉。
下期预告:《R语言从入门到精通》第一讲--R语言简介及环境安装。
原文详情微信公众号:科研猫
联系客服