分享

生信特级小白的吐血R教程--专为零基础学R!

 生物_医药_科研 2018-12-01

写在前面

首先吐槽一下,生信大神们写的推文对于我这种非生信人员(医学类)来说不太友好,毕竟在我们的世界,用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个小时写这篇推文,希望能帮到泥萌~加油!


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多