R & ggplot2 & Excel绘图(直方图/经验分布图/QQ图/茎叶图/箱线图)实例
持续更新~
散点图
条形图
文氏图
饼图
盒型图
频率直方图
热图
PCA图
3D图
火山图
分面图
分面制作小多组图
地图
练习数据:
year count china Ame jap
'12 2.800000 1.500000 4.500000 2.500000
'13 2.941956 1.587559 5.342547 2.814862
'14 3.508838 1.648075 5.429438 2.701108
'15 4.011208 1.533966 5.419301 2.660671
'16 4.341734 1.634622 5.075504 2.925912
想研究某现象的分子机制,老板豪气的来一句,先测个转录组吧,看下差异表达基因。
是否在心里窃喜,制个样就完事了,太easy有木有。等大堆数据回来的时候,是不是傻眼了?
从何下手挑选差异表达基因呢?
今天就先来聊聊如何看差异表达基因数据,火山图,聚类图又怎么看。1差异基因筛选方法那差异基因是如何筛选出来的呢?差异基因的筛选方法有很多,包括倍数法、T检验、F检验及SAM等。
下面简单介绍一下GCBI平台上用的倍数法和SAM法。
倍数法适用于没有生物学重复的样本,其计算基因在两个条件下表达水平的比值,确定比值的阈值,将绝对值大于此阈值的基因判断为差异基因。
SAM算法适用于有生物学重复的样本,通过对分母增加一个常量 T 检验过程减小了假阳性发生的概率。文献中报道,相较于其他算法,SAM算法更为稳定,筛选出的结果也更为准确。2差异基因数据解读经过合适的差异基因方法筛选出的差异基因,结果一般分为两部分,数据+图形。
数据结果展示如下图所示(两分组)aaarticlea/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg==">众多参数中,重点看三个。
p-value或q-value
没有做生物学重复请跳过这一步。
p-value或q-value是统计学检验变量,代表差异显著性,一般p-value或q-value小于0.05代表具有显著性差异,但可根据具体情况适当调整。
因为p-value或q-value衡量地是某个基因假阳性的概率,如果p-value或q-value越低,那么挑选该基因出现假阳性的概率就越低,可验证性就越高。
两者具体的计算方法具体如下:aaarticlea/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg==">aaarticlea/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg==">那p-value、q-value同时存在时看哪个呢?
SAM法只有q-value。当两者同时存在时,可根据具体情况具体分析。
差异筛选是一个典型的多重假设检验过程,对于多重假设检验,单次检验中差异显著基因的假阳性率(p-value较小)可能会较大,而q-value和FDR值较常见的BH校正方法得到的FDR值而言,改进了其对假阳性估计的保守性。
即q-value相比于p-value更加严格,当差异基因结果较少时,可以退而求其次看p-value。Fold ChangeFold Change表示实验组比上对照组的差异表达倍数,一般表达相差2倍以上是有意义的,放宽要求1.5倍或者1.2倍也可以接受。
看表达倍数的同时还需结合基因表达丰度,信号值太低的基因会在后续的验证实验中检测不到。3差异基因图表解读在差异结果的图形展示结果中,主要是火山图和聚类图。火山图火山图只针对两分组且有生物学重复的情况。
如何看火山图呢?
火山图可反映总体基因的表达情况,横坐标代表log2(Fold Change),纵坐标表示-log10(P值),每个点代表一个基因,颜色用以区分基因是否差异表达,图中橙色的点代表差异表达基因,蓝色的点代表没有差异表达的基因。聚类图
聚类图可以衡量样本或基因之间表达的相似性。
如上图所示的聚类图中,横坐标代表样本聚类,一列代表一个样本,聚类基于样本间基因表达的相似性,样本间基因表达越接近,靠的越近,以此类推。
纵坐标代表基因聚类,一行代表一个基因,聚类基于基因在样本中表达的相似性,基因在样本中表达越接近,靠的越近,以此类推。
色阶代表基因表达丰度,越红代表上调得越明显,越绿代表下调得越明显。
如何做聚类图请戳往期推送
做个聚类图只需1分钟
差异基因有了,如何挑选潜在基因进行实验验证呢?
关键还在于感兴趣点在哪了。粗略的看,可以先看KEGG或者GO功能分类,看差异基因具体富集在哪些通路或功能。
比如关注的是细胞内脂肪酸合成关键酶,可以重点看脂肪酸合成和碳流相关通路。具体如何看KEGG或者GO功能分类,请听下回分解。
参考资料:微信搜ggplot会有很多案例
关于统计图形的配色,看看这俩R包
R语言可视化——ggplot的theme订制
R笔记6:ggplot绘制商务图表--分面制作小多组图
R笔记:ggplot绘制商务图表--中国分省热力地图
R & ggplot2 & Excel绘图(直方图/经验分布图/QQ图/茎叶图/箱线图)实例的更多相关文章
- 第六篇:R语言数据可视化之数据分布图(直方图、密度曲线、箱线图、等高线、2D密度图)
数据分布图简介 中医上讲看病四诊法为:望闻问切.而数据分析师分析数据的过程也有点相似,我们需要望:看看数据长什么样:闻:仔细分析数据是否合理:问:针对前两步工作搜集到的问题与业务方交流:切:结合业务方 ...
- R语言绘图:箱线图
使用ggplot2绘制箱线图 ######*****绘制箱线图代码*****####### data1$学区房 <- factor(data1$school, levels = 0:1, lab ...
- 扩增子统计绘图1箱线图:Alpha多样性
绘制Alpha多样性线箱图 绘图和统计全部为R语言,建议复制代码,在Rstuido中运行,并设置工作目录为存储之前分析结果文件的result目录 # 运行前,请在Rstudio中菜单栏选择“Sessi ...
- R语言学习 - 箱线图(小提琴图、抖动图、区域散点图)
箱线图 箱线图是能同时反映数据统计量和整体分布,又很漂亮的展示图.在2014年的Nature Method上有2篇Correspondence论述了使用箱线图的好处和一个在线绘制箱线图的工具.就这样都 ...
- python3绘图示例4(基于matplotlib:箱线图、散点图等)
#!/usr/bin/env python# -*- coding:utf-8 -*- from matplotlib.pyplot import * x=[1,2,3,4]y=[5,4,3,2] # ...
- R画柱形图和箱线图
数据格式如下 gene_id Sham-1 Sham-2 Sham-3 Sham-4 Sham-5 Rep-1h-1 Rep-1h-2 Rep-1h-3 Rep-1h-4 Rep-1h-5 Rep-3 ...
- Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)
Visualization of seaborn seaborn[1]是一个建立在matplot之上,可用于制作丰富和非常具有吸引力统计图形的Python库.Seaborn库旨在将可视化作为探索和理 ...
- (数据科学学习手札37)ggplot2基本绘图语法介绍
一.简介 ggplot2是R语言中四大著名绘图框架之一,且因为其极高的参数设置自由度和图像的美学感,即使其绘图速度不是很快,但丝毫不影响其成为R中最受欢迎的绘图框架:ggplot2的作者是现任Rstu ...
- R 语言—基本绘图
https://www.harding.edu/fmccown/r/ 这个网站上有壮观的 R 绘制的实际图形 下面只记录自己感兴趣的内容 单变量绘图下包含 1. 带状图 2. 茎叶图 3. 直方图 ...
随机推荐
- mongodb部署
windows版本 http://dl.mongodb.org/dl/win32/x86_64 安装教程 https://docs.mongodb.org/manual/tutorial/instal ...
- hive支持sql大全(收藏版)
hive操作数据库还是比较方便的,因此才会有hbase与hive整合.下面我们hive的强大功能吧.为了增强阅读性,下面提几个问题: 1.hive支持哪些运算符? 2.hive是否支持左右连接? 3. ...
- 查询结果用Object类或其数组的List接收
查询结果用Object数组接收并返回前端获取和展示,很多时候是封装的方法直接用实体类接收和返回,当所查询出的值包含不只一个实体类的属性值时,返回某个实体类不满足要求,或者不需要此实体类属性太多,返回整 ...
- java多线程----线程池源码分析
http://www.cnblogs.com/skywang12345/p/3509954.html 线程池示例 在分析线程池之前,先看一个简单的线程池示例. 1 import java.util.c ...
- Linux中Postfix邮件安装Maildrop(八)
Postfix使用maildrop投递邮件 Maildrop是本地邮件投递代理(MDA), 支持过滤(/etc/maildroprc).投递和磁盘限额(Quota)功能. Maildrop是一个使用C ...
- python函数—形参、实参、位置参数、关键字参数
1.通过def function_name([parameter]): 定义,函数一遇到return即结束运行.如果函数没有定义返回值,则返回None,如果定义了一个返回值,则返回该对象,如果一个re ...
- c++的class声明及相比java的更合理之处
或许是基于一直以来c/c++头文件声明和cXX实现物理上置于独立文件的考虑,c++中的OO在现实中基本上也是按照声明和实现分离的方式进行管理和编译,如下所示: Base.h #pragma once ...
- 20145212罗天晨 逆向及Bof基础实践
20145212罗天晨<网络对抗>第1周学习总结--逆向及Bof基础实践 逆向及Bof基础实践 一.实践目标 1.运行原本不可访问的代码片段 2.强行修改程序执行流 3.以及注入运行任意代 ...
- poj 2449 Remmarguts' Date 求第k短路 Astar算法
=.=好菜 #include <iostream> #include <cstdio> #include <string.h> #include <cstri ...
- perl入门知识(3)
引用 在很多场合下使用引用传值,能在很大程度上提高代码的运行效率. 定义一个引用在变量名前加”\”就可以了,如: $ra=\$a; $rb=\@b; ...