qRT-PCR是一种相对表达定量的方法,他的计算方法有很多,常用的相对定量数据分析方法是KJ Livak(Applied Biosystems)等人在2001年提出的“比较Ct法相对定量”,即:利用ΔCt值差异来推算基因表达差异(Ct目的基因 – Ct内参基因 = ΔCt),该方法的具体计算方法请参见文章:qRT-PCR相对定量计算详解。

一般在相对定量的最终结果中,样本间的差异是以表达差异倍数(Fold change)来展现的,如下图:

那么样品间基因表达差异倍数多少则可以认为有差异呢?回答此问题,我们需要明确差异该如何去定义!

如何定义差异:

说道差异大家首先想到的肯定是生物学上的差异,例如同一基因在两个样品间的表达差异倍数,一般这个倍数从1.2、1.5、2倍都是可以的(转录组里面一般是按2倍作为筛选指标,小编觉得1.2、1.5也是可以接受的)。

另一方面,我们也应考虑随机误差,因为我们无法消除误差,看上去完美的数据也有可能是随机误差造成的,所以,我们在关注生物学差异之外,还要考虑统计学差异。

以上两种差异都是客观上存在的,我们当然是希望数据差异是由实验处理造成的,但随机误差又是客观存在的,所以随机误差发生的概率越小越好。

如何衡量随机误差?

P值(P-value),想必大家都不会陌生,它是用来判定假设检验结果的一个参数,说直白点就是P值代表了一种可能性,衡量的是随机出错的概率。在统计学中,一般要求P值小于0.05;如果P-value=0.05,意味着我们的实验结果有5%的概率是随机误差引起的。

我们经常用到这样的论述p<0.05(显著),可用一颗星号表示“*”,而两颗星“**”代表p<0.01(极显著);那是不是p<0.01的数据比p<0.05的好,组间的差异也更大呢?答案是否定的!P值衡量的是随机出错的概率,不能衡量差异量变大小,所以我们不能说一个P值<0.01的结果比P值<0.05的结果具有更大的差异,只能说前者出错的概率更低,或者说组间“差异有统计意义”,而不是组间“具有显著的差异”。

P值的计算:

P值的算法有很多种,最常用的是T检验(T-test),亦称student t检验(Student's t test),主要用于样本含量较小(例如n < 30),总体标准差σ未知的正态分布。T检验是用t分布理论来推论差异发生的概率,从而比较两个平均数的差异是否显著。在R语言中T检验用的方法为:t.test(),如果数据不符合正态分布,也就是数据当中有较大的离群值时,可选用非参数秩和检验法,如Wilcoxon test,R语言中对应的方法为:wilcox.test()。关于数据类型及检验方法的选择可参考:差异统计检验如何选择。

单样品T检验

例:某鱼塘水的含氧量多年平均值为4.5mg/L,现在该鱼塘设10点采集水样,问该次抽样的水中含氧量与多年平均值是否有显著差异。

#数据

s<-c(4.33,4.62,3.89,4.14,4.78,4.64,4.52,4.55,4.48,4.26)

shapiro.test(s) #如果P>0.05 符合正态分布

t.test(s,mu=4.5) #T检验, 如果 P>0.05 相等

非配对两样本T检验

例:为了了解某一降血压药物的效果,将28名高血压病患者随机等分到实验组和对照组,实验组采用新降压药物,对照组则用标准药物治疗,测得治疗前后舒张压的差值如下。问新药和标准药的疗效是否不同?

high<-c(134,146,106,119,124,161,107,83,113,129,97,123)

low<-c(70,118,101,85,107,132,94)

x<-c(high,low)

group<-c(rep("high",12),rep("low",7))

#正态性检验,wilcox.test()

shapiro.test(high) #如果P>0.05 符合正态分布

shapiro.test(low) #如果P>0.05 符合正态分布

#方差齐性检验:如果P>0.05 方差齐

bartlett.test(x~group)

#方法二:car包中leveneTest 检验,spss统计软件默认的检验方法

leveneTest(x~group)

#T检验, 如果 P<0.05 存在差异

t.test(high,low,paired=F,var.equal=T) #如果方差不齐,可更改:var.equal=F,

#或者:

t.test(x~group,paired=F,var.equal=T)

配对两样本T检验

例:为了解DSCT冠状动脉造影和超声心动图检查两种方法测定心脏病患者左室舒张末容积的差别,某医院收集心脏病患者12例,同时分别用两种检测方法测得其大小如下,问两种检测方法的检测结果是否不同?

ds<-c(82.5,85.2,87.6,89.9,89.4,90.1,87.8,87.0,88.5,92.4)

cs<-c(91.7,94.2,93.3,97.0,96.4,91.5,97.2,96.2,98.5,95.8)

#方差齐性检验,car包中leveneTest

leveneTest(ds,cs)

#作差,正态性检验

#差值正态性检验,差值符合正态分布(P>0.05)

d<-ds-cs

shapiro.test(d)

#配对T检验

t.test(ds,cs,paired=T,alternative="two.sided",conf.level=0.95)

统计检验及绘图-ggpubr

ggpubr包既可以做检验,有可以对统计结果进行整理绘图,输出结果比t检验更加友好。

例:两种基因型(HH、RR)的水稻品种,分别在高氮和低氮条件下,的测FW、DW和PH三种生理指标数据:

women_weight <- c(38.9,61.2,73.3,21.8,63.4,64.6,48.4,48.8,48.5)

men_weight <- c(67.8,60,63.4,76,89.4,73.3,67.3,61.3,62.4)

mydata <- data.frame(

group= rep(c("Woman","Man"),each=9),

weight = c(women_weight, men_weight)

)

#统计检验

com1 <- compare_means( weight~ group , data = mydata, method = "t.test")

#结果P=0.015,小于0.05,具有显著差异:

#.y. group1 group2 p p.adj p.format p.signif method

# weight Man Woman 0.0154 0.015 0.015 * T-test

绘图显示

install.packages("ggpubr")

library(ggpubr)

p<- ggboxplot(mydata, x="group", y ="weight", color ="group", palette ="jco",add="jitter",short.panel.labs =FALSE)

# 添加p值

p+ stat_compare_means(method ="t.test",label.y=100)

# 显示p值但不显示方法

p+ stat_compare_means(aes(label = ..p.format..),method ="t.test",label.x =1.5)

# 只显示显著性水平

p+ stat_compare_means(aes(label = ..p.signif..),method ="t.test",label.x =1.5)

结果图如下:

组学大讲堂官方正版教程链接:

组学大讲堂​m.study.163.com

最后放一下我们目前已有的录播课程列表,希望大家能支持正版,也只有正版才能获得完整的服务,欢迎通过上面的网易云课堂链接进入购买!

aic值检验 p值_qRT-PCR差异分析及P值计算相关推荐

  1. reactjs组件的三大属性之props基本使用及props属性值检验

    reactjs组件的三大属性之props基本使用及props属性值检验

  2. T检验、F检验和统计学意义(P值或sig值)(转载)

    1,T检验和F检验的由来 一般而言,为了确定从样本(sample)统计结果推论至总体时所犯错的概率,我们会利用统计学家所开发的一些统计方法,进行统计检定. 通过把所得到的统计检定值,与统计学家建立了一 ...

  3. R语言检验相关性系数的显著性:使用cor.test函数计算相关性系数的值和置信区间及其统计显著性(如果变量来自正态分布总体使用皮尔森方法pearson)

    R语言检验相关性系数的显著性:使用cor.test函数计算相关性系数的值和置信区间及其统计显著性(如果变量来自正态分布总体使用皮尔森方法pearson) 目录

  4. pandas使用replace函数替换dataframe中的值:replace函数使用正则表达式对dataframe中的值进行替换

    pandas使用replace函数替换dataframe中的值:replace函数使用正则表达式对dataframe中的值进行替换 目录

  5. php某列为键数组为值,PHP 将二维数组中某列值作为数组的键名 -- 超实用

    有时候,想通过数组的中某字段值, 然后再在二维数组中获取存在该字段值的数组: 一般能想到的就是foreach 遍历比较一下跟该字段值一样,就获取到想要的数组,如下: //测试二维数组 $arr =ar ...

  6. html键值对与名称值对的区别,使用网络存储存储键值对的数据-HTML5教程

    本节课的内容是介绍网络存储,使用它在浏览器里存储键值对的数据,功能上像以前的cookie一样,不过他更好,存储的数据可以大小.有两种类型的网络存储:本地存储和会话存储,他们使用相同的实现机制,只是可见 ...

  7. java 数组的索引值_按索引访问Java数组位置的值

    我是 Java的新手,我只是在努力使用数组.我有一段代码,我在编写教程时已经编写过,但我很难理解它,如果有人能向我解释,我会很高兴. 我尝试过各种不同的方法(向我的鸭子解释,写下来等等)并且仍然无法理 ...

  8. 【C 语言】指针间接赋值 ( 直接修改 和 间接修改 指针变量 的值 | 在函数中 间接修改 指针变量 的值 | 在函数中 间接修改 外部变量 的原理 )

    文章目录 一.直接修改 和 间接修改 指针变量 的值 二.在函数中 间接修改 指针变量 的值 三.在函数中 间接修改 外部变量 的原理 一.直接修改 和 间接修改 指针变量 的值 直接修改 指针变量 ...

  9. 【Flutter】Animation 动画 ( Flutter 动画基本流程 | 创建动画控制器 | 创建动画 | 设置值监听器 | 设置状态监听器 | 布局中使用动画值 | 动画运行 )

    文章目录 一.创建动画控制器 二.创建动画 三.设置值监听器 四.设置状态监听器 五.布局中使用动画值 六.动画运行 七.完整代码示例 八.相关资源 Flutter 动画基本流程 : ① 创建动画控制 ...

  10. list修改元素的值_第115天:Python 到底是值传递还是引用传递

    我们平时写的 Python 程序中充斥着大量的函数,包括系统自带函数和自定义函数,当我们调用函数时直接将参数传递进去然后坐等接收返回值即可,简直不要太好用.那么你知道函数的参数是怎么传递的么,是值传递 ...

最新文章

  1. 如何匹配包含特定字符串的属性?
  2. POJ 1573 POJ 2632(两道有趣的Robot)实例
  3. 大连海事学院计算机研究生多少分,大连海事大学计算机或软件工程研究生多少分能录取...
  4. QT的QCullFace类的使用
  5. 1+2+3+n;1*1*2*n
  6. python数组排序sort_详解python中sort排序使用
  7. [转载] 6.3 cmath--数学函数
  8. iframe框根据内容自适应高度
  9. STL标准模版库----queue/deque操作大全
  10. OpenJDK8:只有x86和sparcv9才能出32位的版本
  11. 开源实时视频码流分析软件:VideoEye
  12. 在vue项目中调用echarts官网百度地图实例
  13. CHK文件恢复工具、软件(CHKRecovery V2.0)
  14. mysql写保护,sd卡有写保护怎么格式化
  15. 分享一款超棒的jQuery Google地图插件:Gmaps
  16. Linux命令之火车来了
  17. linux使用入门debian,Debian 7.7入门安装与配置
  18. 如何利用一维数组实现二维数组的多列自由升降序排序过程详解
  19. PowerShell 实现企业微信机器人推送消息
  20. 显著性检测学习笔记(2):DMRA__2019_ICCV

热门文章

  1. 预防胜于补救 《热血江湖》防盗号傻瓜手册(转)
  2. 简单管理Android手机程序的小程序
  3. 恶意软件分析(二)玩出花的批处理(中)
  4. mysql课程表设计_MySQL如何设计课程表的数据库
  5. html怎么让文字半透明,用js设置div背景半透明而文字不透明
  6. 第一章:【UCHome二次开发】uchome文件体系介绍
  7. 《数据库应用》课程设计人事管理系统(java源代码)
  8. 基于matlab的汉明码信道编码,信道编码仿真.doc
  9. mapabc地图开发之定位篇(GPS+谷歌基站定位+高德基站定位)
  10. 掷骰子python代码_掷骰子游戏,,游戏规则:玩家投掷两个骰