从今天开始,每天学点R语言~
为了增加课程的实用性,在前期课程的基础上,同时综合了很多学员的建议,后续会推出诸多系列课程,比如:科研绘图、高通量测序、数据挖掘、文献精读、R语言与统计等等。
今天,我们就从一门最实用的技术入手,给大家带来一门全新的系列课程:R语言从入门到精通。为了帮大家把这套课程做好,我们特意邀请到一位程序员大牛(文末见个人简介),历时数月,从诸多R语言教材中抽丝剥茧提炼出最精髓的内容分享给大家。
什么是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语言,特别是在数据挖掘和生物统计中的应用。闲话不说,我们先来看看课程安排,一睹为快吧。
整个课程,我们初步分为6大块,从最简单的R语言环境调试入手,到编程基础,再到实际应用,以实例为基础,给大家讲解最原汁原味的R语言编程在生物医学当中的应用。从简单的1+1到复杂的机器学习,简直是“一文在手,天下我有”的感觉。
另外,该教程中的所有代码都是免费分享给大家的,期期皆有福利干货,敬请期待。
本期干货
!! R语言学习经典教材电子版 !!
联系客服
胖雨小姐姐
领取
讲师简介
上海交通大学硕士,MIT博士,长期从事医学与生物信息学研究,主要研究方向为高通量测序在肿瘤早期筛查和无创产前诊断中的临床应用,独立开发多个数据分析软件并发表相关文章(影响因子≥5分6篇,≥10分2篇),熟知R、Python、Perl及C语言等多种编程语言及程序设计,曾累计书写R代码超过5万余行。
明日推文预告
《R语言从入门到精通》第一讲--R语言简介及环境安装。
往期热文:
科研作图系列
生成分析系列
GEO数据挖掘系列
重磅:GEO数据库挖掘教程(4)一体化分析代码(带视频+R代码分享)
TCGA数据挖掘系列
隔壁实验室的“秃鹫”师兄又发SCI啦--TCGA数据挖掘实战
生物信息入门系列
更多科研新鲜资讯、文献精读和生物信息技能,请关注科研猫公众号
下方点好看,更多好看。