前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >表型相关系数与标准误

表型相关系数与标准误

作者头像
邓飞
发布于 2020-03-31 08:56:32
发布于 2020-03-31 08:56:32
1.2K00
代码可运行
举报
运行总次数:0
代码可运行

一个同学发信给我:

“请问我想计算几个表型数据的相关系数和标准误,如何用R语言操作?”

我回答:“R中默认的函数有cor计算相关系数,标准误的话估计要用重抽样去操作?,但是很少有人会计算标准误这个数值。”

于是,该同学发过来一个截图:

上三角为表型相关系数,下三角为表型相关系数的标准误。

于是,我陷入了沉思,这里的表型相关系数,应该是和遗传相关系数对应的,属于数理遗传学的范畴,而我说的相关系数,应该是统计学的范畴。

然后我告诉该同学,你等着,我写篇公众号,解释一下这个误区。

统计学范畴的相关系数计算方法:

首先我们生成两个数据:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> set.seed(123)
> x=rnorm(1000)
> y= 0.3*x + rnorm(1000)
> dat=cbind(x,y)
> head(dat)
               x          y
[1,] -0.56047565 -1.1639414
[2,] -0.23017749 -1.1090083
[3,]  1.55870831  0.4496323
[4,]  0.07050839 -0.1110226
[5,]  0.12928774 -2.5105565
[6,]  1.71506499  1.5550930

然后使用cor函数计算x和y的相关系数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> cor(dat)
          x         y
x 1.0000000 0.3573148
y 0.3573148 1.0000000

检验x和y的相关系数的显著性:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> cor.test(dat)
Error in cor.test.default(dat) : 缺少参数"y",也没有缺省值
> cor.test(dat$x,dat$y)

  Pearson's product-moment correlation

data:  dat$x and dat$y
t = 12.086, df = 998, p-value < 2.2e-16
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 0.3020116 0.4102211
sample estimates:
      cor 
0.3573148 

可以看出,两者显著性达到极显著。

数量遗传学范畴的相关系数计算方法:

一般是混合线性模型,有随机因子,比如父本,比如家系,比如个体动物模型,然后计算性状间的方差组分和协方差组分,最后计算遗传相关系数和表型相关系数。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> library(asreml)
> data("harvey")
> head(harvey)
  Calf   Sire Dam Line ageOfDam  y1  y2  y3
1  101 Sire_1   0    1        3 192 390 224
2  102 Sire_1   0    1        3 154 403 265
3  103 Sire_1   0    1        4 185 432 241
4  104 Sire_1   0    1        4 183 457 225
5  105 Sire_1   0    1        5 186 483 258
6  106 Sire_1   0    1        5 177 469 267

这里,将Sire作为随机因子,分析y1,y3两个性状的遗传相关和表型相关,以及他们的标准误。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> mod = asreml(cbind(y1,y3) ~ trait + trait:Line ,
+              random = ~ us(trait):Sire, residual = ~ units:us(trait), data=harvey)
Model fitted using the sigma parameterization.
ASReml 4.1.0 Sun Mar 29 17:46:47 2020
          LogLik        Sigma2     DF     wall    cpu
 1      -437.786           1.0    124 17:46:47    0.0
 2      -433.479           1.0    124 17:46:47    0.0
 3      -429.450           1.0    124 17:46:47    0.0
 4      -427.635           1.0    124 17:46:47    0.0
 5      -427.223           1.0    124 17:46:47    0.0
 6      -427.206           1.0    124 17:46:47    0.0
 7      -427.206           1.0    124 17:46:47    0.0
> summary(mod)$varcomp
                        component std.error    z.ratio bound %ch
trait:Sire!trait_y1:y1   27.20936  26.59364  1.0231532     P   0
trait:Sire!trait_y3:y1  -12.81265  41.71667 -0.3071350     P   0
trait:Sire!trait_y3:y3  124.88915 125.13874  0.9980055     P   0
units:trait!R             1.00000        NA         NA     F   0
units:trait!trait_y1:y1 132.36803  25.00112  5.2944842     P   0
units:trait!trait_y3:y1 -59.97696  39.91635 -1.5025662     P   0
units:trait!trait_y3:y3 647.80434 122.32450  5.2957858     P   0

注意,这里的方差组分是component一列,前三列为两个性状的遗传方差组分,后三列为环境方差组分。

遗传相关 = cov_sire_12/sqrt(V_sire_11*V_sire_22)

表型相关 = (cov_sire_12 + cov_units_12)/sqrt((V_sire_11 + V_units_11)*(V_sire_22 + V_units_22))

因此相关的计算方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> # 遗传相关
> vpredict(mod, rg ~ V2/sqrt(V1*V3))
     Estimate        SE
rg -0.2197948 0.6668593
> # 表型相关
> vpredict(mod, rp ~ (V2 + V6)/sqrt((V1+V5)*(V3+V7)))
     Estimate        SE
rp -0.2072908 0.1434625

如果只是单纯的使用统计的相关系数,计算如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> # 相关系数:统计的方法
> cor(harvey$y1,harvey$y3)
[1] -0.3208209
> cor.test(harvey$y1,harvey$y3)

  Pearson's product-moment correlation

data:  harvey$y1 and harvey$y3
t = -2.6886, df = 63, p-value = 0.009171
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 -0.52373856 -0.08345172
sample estimates:
       cor 
-0.3208209

可以看到结果偏高,所以注意,如果你是分析的育种数据,还是要按照上面数量遗传的方法,通过计算方差组分和协方差组分,计算出的遗传相关和表型相关才是正确的。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 育种数据分析之放飞自我 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
如何检测遗传相关的显著性:LRT检验操作方法
3. 软件实现遗传相关计算 3.1 数据格式 前三列是系谱,有3个性状: y1, y2, y3 , 想要计算y1和y3的遗传相关,并用LRT检验显著性
邓飞
2019/09/17
1.6K0
如何检测遗传相关的显著性:LRT检验操作方法
育种数据分析中的遗传相关及其显著性的计算
3. 软件实现遗传相关计算 3.1 数据格式 前三列是系谱,有3个性状: y1, y2, y3 , 想要计算y1和y3的遗传相关,并用LRT检验显著性
邓飞
2021/03/30
3.1K0
育种数据分析中的遗传相关及其显著性的计算
环境遗传相关 | 育种中的基因与环境互作
基因与环境互作,植物中同一个品种多年多点种植,评价基因与环境互作,找到品种最适合推广的区域。
邓飞
2022/12/13
1.1K0
环境遗传相关 | 育种中的基因与环境互作
GCTA学习7 | 计算单性状遗传力和标准误
前面的几节中,我们介绍了GCTA计算G矩阵,本节我们介绍,如果使用GCTA进行遗传力的估计。
邓飞
2022/02/09
3.1K0
GCTA学习7 | 计算单性状遗传力和标准误
asreml 设定初始值 固定初始值
一个朋友问我,如何固定asreml的初始值,现在分为单性状和多性状进行说明。 为何要固定初始值: 1,由于群体较小,估算的方差组分不准确,需要手动设定初始值,直接进行求解 2,有些群体数据,估算方差组分不收敛,需要手动固定初始值 为何要设定初始值: 1,从头进行估算,模型运行时间较长,根据先验信息,手动设定初始值,迭代收敛速度更快 2,多性状分析中,模型不容易收敛,手动设定初始值,更容易收敛和迭代
邓飞
2019/07/28
6060
育种不懂多性状模型,皆枉然
分别计算出单性状的育种值,然后根据权重进行选择。这种方法有一定效果,但是模型中没有考虑到性状间的协方差,误差较大。
邓飞
2021/09/03
1.4K0
GCTA如何计算GWAS中SNP的遗传力
里面的遗传力分为:family遗传力,SNP遗传力和GWAS遗传力,他们的关系如下:
邓飞
2022/12/12
1.5K0
GCTA如何计算GWAS中SNP的遗传力
DMU遗传评估从入门到出家系列
DMU是一个数量遗传学工具包,主要功能包括估计方差组分和固定效应,预测育种值。DMU的开发历史可以追溯到25年前,大部分功能基于数量遗传学研究的需求而开发。在丹麦动物育种研究中,DMU是一个主要的统计研究工具(估计和预测)。此外,DMU也应用于丹麦牛,羊,貂和马等常规遗传评估研究。因此,DMU不但在一些特定的项目中具备高性能优势,也适用于常规数量遗传学研究。“DMU”名称最初来自于程序包中用来进行初始化的过程名字缩写。这些过程利用约束最大似然法(REML),通过Derivative-free方式执行MUltivariate analysis,因此得名DMU。但是,在当前的DMU版本中,并不包括DF-REML模块,现在D仅代表DJF(丹麦农业科学学院的缩写)。
邓飞
2020/05/17
4.2K1
统计遗传学:第二章,统计分析概念
前几天推荐了这本书,可以领取pdf和配套数据代码。这里,我将各个章节介绍一下,总结也是学习的过程。
邓飞
2022/07/27
7590
统计遗传学:第二章,统计分析概念
BLUP育种值如何计算准确性
「育种值的准确性是什么呢?为何要计算育种值的准确性呢?」育种值的准确性的大小可以反应育种值计算的准确性如何,如果准确性高,就说明计算育种值时依赖的信息多(比如亲子关系、同胞关系等),结果就可靠。
邓飞
2022/02/09
1.2K0
BLUP育种值如何计算准确性
从数量遗传学角度介绍为何结婚要拿彩礼钱
俗话说:“父挫,挫一个;母挫,挫一窝”,意思是父亲影响子女,是单个影响的,而母亲影响子女,是成窝影响的。
邓飞
2022/04/06
3850
从数量遗传学角度介绍为何结婚要拿彩礼钱
相关系数高达0.8又如何?
可以看到这4个数据集的X,Y都是有关系的,其中第一个看起来是线下相关,第二个应该是曲线,第三个有离群点,第四个呢,完全就跑偏了,那么它们的线性回归如何呢?
生信技能树
2019/05/24
4.7K0
育种数据分析中转化数据对结果的影响
在模型假定中,数据需要符合正态分布,在动物模型分析中,如果对数据进行转化,对育种值和方差组分变化的情况,进行测试。
邓飞
2019/12/05
6580
ggplot散点图加相关系数
计算一组数据有没有相关性以及相关程度时,可以使用cor(),以及cor.test()计算显著性,如下所示,我们想计算这两种花的长度有没有相关性。
生信编程日常
2020/12/29
6K0
pearson与spearman相关系数的比较
相关性(correlation)是指两个随机变量之间的关系,可以衡量两个变量间关系的强弱和方向。一般我们常用的是皮尔森相关系数和斯皮尔曼相关系数。
生信编程日常
2020/04/24
3.5K0
pearson与spearman相关系数的比较
ggcor |相关系数矩阵可视化
相关系数矩阵可视化已经至少有两个版本的实现了,魏太云基于base绘图系统写了corrplot包,应该说是相关这个小领域中最精美的包了,使用简单,样式丰富,只能用惊艳来形容。Kassambara的ggcorrplot基于ggplot2重写了corrplot,实现了corrplot中绝大多数的功能,但仅支持“square”和“circle”的绘图标记,样式有些单调,不过整个ggcorrplot包的代码大概300行,想学习用ggplot2来自定义绘图函数,看这个包的源代码很不错。还有部分功能相似的corrr包(在写ggcor之前完全没有看过这个包,写完之后发现在相关系数矩阵变data.frame方面惊人的相似),这个包主要在数据相关系数提取、转换上做了很多的工作,在可视化上稍显不足。ggcor的核心是为相关性分析、数据提取、转换、可视化提供一整套解决方案,目前的功能大概完成了70%,后续会根据实际需要继续扩展。
生信宝典
2019/11/07
8K3
ggcor |相关系数矩阵可视化
「R」基本统计分析
因为书中列举的方法和知识点比较多,没必要全都掌握,会一种,其他的了解即可。我就简要地整理一下我觉得重要的吧。
王诗翔呀
2020/07/06
1.7K0
皮尔逊相关系数
皮尔逊相关系数(Pearson Correlation Coefficient)是用于度量两个变量之间线性关系强度和方向的统计量。其值域在-1到1之间,其中:
jack.yang
2025/04/05
1680
皮尔逊相关系数
皮尔逊相关系数(Pearson Correlation Coefficient)
皮尔逊相关系数(Pearson Correlation Coefficient)是用于度量两个变量之间线性关系强度和方向的统计量。其值域在-1到1之间,其中:
jack.yang
2025/04/05
2370
皮尔逊相关系数(Pearson Correlation Coefficient)
通俗解释协方差与相关系数
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/red_stone1/article/details/82754517
红色石头
2019/05/25
1.7K0
推荐阅读
相关推荐
如何检测遗传相关的显著性:LRT检验操作方法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验