R语言不仅在生物信息数据处理中发挥着重要作用,也是其它主流数据处理人士的首选工具。现在非常多自学生物信息学的小伙伴必须学的就是R,所以写一个R的系统性入门指导是非常有必要的。我作为老一辈的生信工程师,所以喜欢perl一点,排斥python。我也稍微看过一些python的语法,个人认为R和python几乎是一模一样的。R的特点就是内置了大量的函数,基本上你认识的英文单词都可以是一个函数,即使不是,你也可以自定义为函数。搞清楚了函数和变量,就可以看懂大部分的R代码了。
下面是生信菜鸟团QQ群管理员赵云对这3种编程语言的心得体会!(菜鸟发言,如有误导,概不负责!)
~~ 接下来是我写的了,六步系统入门R语言,都是重点 ~~
了解了R里面的基础变量和对象,也学会了对它们进行简单的转换,接下来就可以尝一尝R的甜头了,对任何数据都可以可视化,简简单单的就可以画一大堆的图。 plot,boxplot,barplot,pie,hist,pair,它们每个绘图函数都有自己要求的输入数据,特定的可视化结果,请务必在还没熟练使用之前help一下它们,自己主动查看它们好玩的地方,好好自学。
dev.new()新建画板 plot()绘制点线图,条形图,散点图. barplot( ) 绘制条形图 dotchart( ) 绘制点图 pie( )绘制饼图. pair( )绘制散点图阵 boxplot( )绘制箱线图 hist( )绘制直方图 scatterplot3D( )绘制3D散点图. 低级绘图函数: par() 可以添加很多参数来修改图形 title( ) 添加标题 axis( ) 调整刻度 rug( ) 添加轴密度 grid( ) 添加网格线 abline( ) 添加直线 lines( ) 添加曲线 text( ) 添加标签 legend() 添加图例
它们还有一系列的绘图参数(坐标轴、图例,颜色,性状,大小,空白,布局)非常繁琐,想掌握,花费的时间会非常多,但是很多人直接跳到ggplot的绘图世界了,不想搞那么多底层绘图代码。但是我看过一个底层R绘图集大成者,就Combining gene mutation with gene expression data improves outcome prediction in myelodysplastic syndromes文章的作者的github里面有。但是对大部分人来说,生信的绘图,都是有套路的,其实都被别人包装成函数了,做好数据,一个函数就出了所有复杂的图。比如热图,cluster等等。
高级可视化不得不提ggplot了:
前面我们对向量,数据框,数组,列表都了解了,也知道如何查看数据的特性,但是要进行高级转换,就需要一些时间来学习apply系列函数,aggregate,split等函数的用法。这是一个分水岭,用好了你就算是R入门了。也可以用一些包,比如reshape2,dplyr。
当然,R里面的字符串对象是另外完全不一样的操作模式,建议大家自行搜索学习。
这个是生物信息学特有的,也是为什么我要求搞生物信息学数据处理的人必须学习R,就是为了应用大量的bioconductor包。在这里面所有的对象都不在是基础的向量,数据框,数组,列表了,而是S3,S4对象,这个高级知识点我就不推荐了,你学会了前面的东西,就有了自己的学习经验了,后面的分分钟就搞定了。(其实你永远也搞不定的)
炼数成金的R七种武器系列。(强烈推荐,全套视频很容易找到) 《A Handbook of Statistical Analyses_Using_R》 《Modern Applied Statistics With S》 《Introduction to Scientific Programming and Simulation Using R》 《Mastering Scientific Computing with R》 《Practical Data Science with R》 《Data Mining explain using R》 《ggplot2 Elegant Graphics for Data Analysis》 《R Graphics Cookbook》 《R Cookbook》 《R in a Nutshell》 《R Programming for Bioinformatics》 《software for data analysis programming with R》
看完以上这些,你就是R大神了。当然,前提是你看懂了也会灵活应用。
有小伙伴建议我继续以送视频送书籍的方式来增加浏览量,比如我网盘里面有几千本R语言的PDF书籍,也有十几套视频,但是,我这一篇总结写的太好了,我不想被利益被污染了,希望你可以转发给有需要的人,你的朋友会感激你的转发,让他了解这么多生信前辈的经验分享公众号!
借鉴一个生物信息学习方法:知识和耐心,是成为强者的唯一方法。