写在前面 首先吐槽一下,生信大神们写的推文对于我这种非生信人员(医学类)来说不太友好,毕竟在我们的世界,用SPSS,Graphpad prism已经够酷炫了,并且我们可能从来没听说过R和linux,是计算机二级也没考过的那种小白。 所以你们的推文我都看不懂,让我咋学啊?到底懂不懂我的绝望啊!摸爬滚打了2个月,终于从离入门还有5 km的位置,一只腿迈入生信大门的我,感觉非常有必要在生信推文界,有我们自己人(非生信人员)的学习经验介绍(今天废话比较多,毕竟刚开始写还是很能叨叨的)。 Sooooo,欢迎来到春卷的周六R现场~ 希望能给辛苦工作/学习了一周的你,带来一点简单轻松愉悦的R语言体验!在开始学习之前,问你们一个直击心灵的问题,请问R语言在你的脑海中是一个什么构架? 你可能会说,emmm…好像是个统计画图用的软件,能画热图、火山图那种high bigger图的那种软件 你可能还会说(托腮):可以用来下载公共测序数据(GEO/TCGA),然后data mining的 That's enough!不同于本身就热爱生信的大神们,有多少小伙伴学习生信不过只是为了给自己的科研打一点辅助?没错,我也不是一个纯做生信的小卷卷~那为啥学R嘛~还不是因为作图酷炫,既然要酷炫的作图,当然少不了ggplot!如果你以前不知道ggplot是一个超强绘图R包的话,那么现在,你知道了! 准备工作:一台电脑,安装R+Rstudio软件 注意!R和Rstudio必须同时安装,Rstudio是一个IDE(框架),美化了R语言的界面,使得R运行起来简单方便。也就是说,R是脑子,Rstudio是脸,没有脑子,Rstudio是没用的,Rstudio美观化了R,我们才能继续对R感兴趣。(如果还有需求更加仔细的从头介绍R语言,请留言让我知道~,) 注意,R文件要放在全英文路径之下,中文有可能会出错,如果你电脑的用户名是中文的,环境变量带有中文字符,那么八成是会报错的,不要问我怎么知道的。 step 1 安装ggplot包 小声比比,什么是R包?为啥安装了R+Rstudio这两软件后,你还说让我安装R包,你不是骗我吧,怎么安这么多东西? R语言是一个开源软件--讲人话!就是一个公开的软件,意味着不仅免费,任何人都可以修改,并且都编辑想要的匹配R包,正是因为这个原因,R被许许多多的计算机大神加持,衍生了许许多多的函数包,从而集之大成,练就了无敌神功,成为了数据统计和绘图界的No.1!所以,当我们有更多的需求,R语言自带的函数包不能满足的时候(比如想画更加漂亮的热图),我们可以找外挂,加载一些特别棒的包进来,满足我们的品位。那么ggplot包是目前推文比较多的。。。所以我学了。。。介绍给你们哈! install.packages('ggplot2') ## 安装R包
R语言的语法和linux系统一样,基本格式是 命令+对象 install.packages 是命令,对象是'ggplot2',合在一起,就是:R语言,我代表月亮命令你,给我安装一个'ggplot2' 包。 然后R语言会告诉你,好的,我下载。。。我装。。。我装好了! 发现没,R是一个交互式软件,就是你要跟它对话,告诉它要执行什么命令,执行的情况它会不断的反馈给你,怎样,其实没有这么难的对吧!
library(ggplot2) # 加载包,是的,下载下来还需要加载,相当于激活操作~ ?ggplot2 # 要是没有春卷给你叨叨这是什么包,你可以自己问R语言,命令是问号“?”
发现没,有一些符号也是命令的一种,以上语句可以翻译为:R语言,我代表月亮命令你,告诉我ggplot2是个啥玩意!之后,R语言会调出说明书来给你瞧~step 2 绘图--散点图 在心里默念一下我们常用到的图,散点图,曲线图,柱状图,生存曲线图。。。热图,火山图(你是认真的吗),那么我们从最基本的学起。 那么在R语言中如果要画散点图呢??参照上面的语句,是不是可以这么对R语言说:R语言,我代表…命令你,给我把数据xx,画成散点图,然后横坐标名字是xx,纵坐标名字xx。那么如何,将以上命令转换成为代码呢? 首先我们介绍一些测试数据--简单看看本节选取1999-2008年美国流行车耗油量的数据集(mpg)进行叙述----mpg是R语言内置的一些练习用的数据,O,忘了告诉你们函数包,R语言除了包装有函数命令,常规情况下还会内置一些练习数据,帮助学习,很棒吧! cty和hwy——城市和高速路行驶中的耗油量 displ——排气量 drv——动力传感系统 model——车的模型,数据中包括38种 class——车的类型,双人座、SUV、紧凑型等
每一个ggplot2图有三个关键组件: - 1. 数据 - 2. 数据变量和可见属性的图形映射 - 3. 至少一层描述如何表达可见性的图层。 step 2.1 R 语言自带散点图--非常详细的代码拆分 # R语言自带的绘图命令是----plot---发现没,很多英文单词就是一个命令 # x轴数据是mpg数据中的displ---x = mpg$displ # y轴数据是mpg数据中的hwy---y= mpg$hwy # 标题是“R语言自带绘图”---main = 'R语言自带绘图' # x轴标题是“displ”---xlab = 'displ' # y轴标题是“hwy”---ylab = 'hwy' # 好,把以上代码组合起来,最后如下图 plot(x = mpg$displ,y= mpg$hwy,main = 'R语言自带绘图', xlab = 'displ',ylab = 'hwy')
step 2.2 ggplot2 美化绘制--仔细看代码拆分 # ggplot2绘图的命令是gpplot(我看说明书知道的),绘图代码如下 ggplot (mpg, aes (x = displ, y = hwy)) + geom_point()
# 拆分代码解释如下: # ggplot:绘图的命令 对()内的数据进行绘图 # mpg:需要绘图的数据集---即 数据 # (x = displ, y = hwy):很容易理解,X轴,Y轴---即数据变量 # aes,通过?aes得知,这是一个图形映射---即可见属性的图形映射(深奥,不理解算了) # + geom_point() :点---如何表达可见图层
# 合在一起翻译为:自己翻译好吧~
好,今天能理解这幅图,那就是相当棒棒的了~ ~R语言入门没什么的,消除不必要的恐惧感和抗拒感,其实就是学一下这个软件的逻辑,然后自己去体验一下就好啦!有什么问题请留言告诉我,我真的很希望能够把生信相关的东西,能用最简单直白的语言告诉大家,一起加油吧~对了,可以的话,帮忙点一下下面的广告哦~毕竟春卷小姐姐花了4个小时写这篇推文,希望能帮到泥萌~加油!
|