一、什么是R语言? R语言诞生于上世纪80年代,其前身是S语言,由于S语言是收费的商业软件,新西兰奥克兰大学的Robert Gentleman和Ross Ihaka及其他志愿人员就基于S语言开发了一个R语言。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。 二、为什么要学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的课程,这也是我们推出这门系列教程的初衷。 三、R语言好学吗? 前面说了那么多,可能已经燃起了大家对R语言的学习兴趣。那么,随之而来的问题就是:R语言容易学吗?我们需要花费多少的时间进行学习?在这里,我可以很坦白的告诉大家:R语言是一门编程语言,不是简单的操作软件,所以,R语言的入门并不简单。但是,别灰心,我的话还没说完:R语言绘图入门不难。 当你搞懂了常用的数据类型、函数、循环与判断、包等几个概念之后,你发现,R语言也就这些东西了。它不像java或者C/C++,学习道路异常的漫长,太多的概念和框架需要学习。R语言有些概念不同于常规的编程语言,所以入门稍微有点烧脑,但是入了门之后,你会发现,你需要学习的东西就那么一点,任何一个R代码拿过来一看就懂。 所以,如果你有充足的时间,一个月就足以掌握R语言常用生信绘图,《R生信高级绘图课程》应运而生。我们按照由易到难、由浅入深的原则,给大家安排了很多实用的内容,帮助大家掌握常见的生信R绘图。 生信自学网为大家推荐生信编程课程: 《生信R绘图教程》 《生信分析perl语言应用》 责任编辑:伏泽 作者申明:本文版权属于生信自学网(微信号:18520221056)未经授权,一律禁止转载! |