GWAS计算BLUE值3--LMM考虑残差异质计算BLUE值
本节,介绍如何使用R语言的asreml包拟合混合线性模型,定义残差异质,计算最佳线性无偏估计(blue)
1. 试验数据
数据来源: Isik F , Holland J , Maltecca C . Genetic Data Analysis for Plant and Animal Breeding. Springer International Publishing, 2017.
数据及代码下载,请关注公众号:育种数据分析之放飞自我,进入知识星球进行相关下载和学习
该数据有62个重组自交系(RIL),在4个地点进行试验,随机区组,每个地点2个重复,每个小区种植20株,随机选择5株的表型平均值作为观测值。
2. 读取数据及转换为因子
library(lme4)
library(emmeans)
library(data.table)
library(tidyverse)
library(asreml)dat = fread("MaizeRILs.csv",data.table = F)
head(dat)
str(dat)col = 1:5
dat[,col] = dat %>% select(all_of(col)) %>% map_df(as.factor)
str(dat)
3. 使用asreml计算BLUE值(定义残差同质)
library(asreml)
m1 = asreml(height ~ RIL, random = ~ location + location:RIL + location:rep,data=dat)
summary(m1)$varcomp
re1 = predict(m1,classify = "RIL")$pval %>% as.data.frame()
4. 使用asreml计算BLUE值(定义残差异质)
m2 = asreml(height ~ RIL, random = ~ location + location:RIL + location:rep,residual = ~ dsum(~units|location),data=dat)
summary(m2)$varcomp
从方差组分可以看到,四个地点的方差组分分别是:
- ARC: 45.13
- CLR:114.70
- PPAC:56
- TPAC:54
差别还是比较大的。那这两个模型有没有显著性差异呢,哪个模型最优呢?
5. 比较BIC和似然比检验(LRT)
summary(m1)$bic
summary(m2)$bic
lrt.asreml(m1,m2)
结果可以看出:
- 定义地点内残差同质的BIC为:2531.222
- 定义地点内残差异质的BIC为:2530.491
- 两个模型的LRT的P值<0.001,达到极显著
BIC越小越好。两个模型达到极显著,所以定义残差异质的模型是更好的。
所以,该数据,应该选择地点异质的模型作为计算BLUE值的模型。
6. 计算最优模型的BLUE值
re2 = predict(m2,classify = "RIL")$pval %>% as.data.frame()
head(re2)
7. 更复杂的模型:定义品种与地点互作异质
m3 = asreml(height ~ RIL, random = ~ location + at(location):RIL + location:rep,residual = ~ dsum(~units|location),data=dat)
summary(m3)$varcomp
它和模型2,哪个模型更优呢?
我们可以比较BIC和LRT:
summary(m2)$bic
summary(m3)$bic
lrt.asreml(m2,m3)
结果可以看出:
- 模型2(只考虑地点残差异质)的BIC为:2530.491
- 模型3(同时考虑互作的残差异质和地点的残差异质)的BIC为2541.703
- 两模型达到极显著。
这里模型2更优,并且和模型3达到极显著。所以,我们选择模型2为最优模型。
8. 选择模型不是越复杂越好,而是越合适越好
选择模型不是越复杂越好,而是越合适越好,怎么看合适不合适呢?看一下模型的BIC值。
下一节,我们用教科书的示例,介绍一下联合方差分析的计算方法。其实,从统计角度,很多区试多地点的数据进行一年多点的方差分析,这之前没有进行地点残差一致性检验,是不严谨的。
下一节,我们演示一下,手动计算各个地点的残差和LMM模型定义地点异质,两者是等价的。
数据及代码下载,请关注公众号:育种数据分析之放飞自我,进入知识星球进行相关下载和学习
GWAS计算BLUE值3--LMM考虑残差异质计算BLUE值相关推荐
- opencv判断 线夹角_opencv计算直线的斜率、截距,与水平线弧度值、角度值
opencv计算直线的斜率.截距,与水平线弧度值.角度值 发布时间:2018-07-10 12:56, 浏览次数:1324 , 标签: opencv 1.输入一堆直线,返回每条直线的斜率和截距 斜率和 ...
- R语言使用lm构建线性回归模型、并将目标变量对数化实战:模型训练集和测试集的残差总结信息(residiual summary)、模型训练(测试)集自由度计算、模型训练(测试)集残差标准误计算
R语言使用lm构建线性回归模型.并将目标变量对数化实战:模型训练集和测试集的残差总结信息(residiual summary).模型训练(测试)集自由度计算.模型训练(测试)集残差标准误计算(Resi ...
- R语言决策树、bagging、随机森林模型在训练集以及测试集的预测结果(accuray、F1、偏差Deviance)对比分析、计算训练集和测试集的预测结果的差值来分析模型的过拟合(overfit)情况
R语言决策树.bagging.随机森林模型在训练集以及测试集的预测结果(accuray.F1.偏差Deviance)对比分析.计算训练集和测试集的预测结果的差值来分析模型的过拟合(overfit)情况 ...
- 用计算机算出90除以6.28,用计算器计算:sin51°30′+ cos49°50′-tan46°10′的值是 .——青夏教育精英家教网——...
题目所在试卷参考答案: 参考答案 一.基础.巩固达标 1.在Rt△ABC中,如果各边长度都扩大2倍,则锐角A的正弦值和余弦值( ) A.都没有变化 B.都扩大2倍 C.都缩小2倍 D.不能确定 思路解 ...
- 征值和特征向量的几何意义、计算及其性质
征值和特征向量的几何意义.计算及其性质 一.特征值和特征向量的几何意义 特征值和特征向量确实有很明确的几何意义,矩阵(既然讨论特征向量的问题,当然是方阵,这里不讨论广义特征向量的概念,就是一般的特征向 ...
- php分页排序不变化,php – 计算已排序分页的给定记录的跳过值
我正在尝试使用php驱动程序计算mongo db集合中给定记录的跳过值.因此,获取给定记录,找出整个集合中该记录的索引.这可能吗? 目前我正在选择所有记录并手动对结果数组进行索引. 解决方法: 这称为 ...
- 获取数组中元素值为偶数的累加和与元素值为奇数的累加和,并计算他们之间的差值
/*** 1.获取数组中元素值为偶数的累加和与元素值为奇数的累加和,并计算他们之间的差值* 1.定义int getNum(int[] arr)静态方法,该方法要求完成* 1.1 获取指定数组arr中元 ...
- C语言求x和y的乘积,计算方程式,求x,C语言中怎么计算x,y的值?
导航:网站首页 > 计算方程式,求x,C语言中怎么计算x,y的值? 计算方程式,求x,C语言中怎么计算x,y的值? 匿名网友: (x-1)=0吧,写题也这么不仔细呀. 哈哈m/x=n/(x-1) ...
- R语言使用cph函数和rcs函数构建限制性立方样条cox回归模型、使用rms包的Predict函数计算指定连续变量和风险比HR值的关系、可视化连续变量和风险值HR的关系
R语言使用cph函数和rcs函数构建限制性立方样条cox回归模型.使用rms包的Predict函数计算指定连续变量和风险比HR值的关系.可视化连续变量和风险值HR的关系 目录
最新文章
- Android的应用程序结构分析:HelloActivity 第二部分【转】
- android manifest简介
- 提权 调试权限 OpenProcess 拒绝访问的解决办法
- CSS一个元素同时使用多个类选择器(class selector)
- SilverlightComponent for ExtJS
- Ananagrams (多种stl)
- [转]互联网企业安全建设(一)
- Windows系统结构图
- 微信小程序实现图片预览(闭眼cv)
- 怎样在计算机上设置纸大小,电脑中打印机设备自定义纸张打印大小的方法
- Arc consistency in CSPs
- 综合电商高保真移动端Axure原型模板
- 哪种锻炼方式最能让程序猿远离亚健康? - 强烈推荐
- python怎么批量下载年报_如何使用python批量下载统计年鉴中的excel网页?
- 编程基本功训练:流程图画法及练习
- java.io.IOException: unexpected end of stream on https://xxx.xxx.xxx.xxx:84/
- 简单实用的Python图像处理库Pillow
- 华为云智能配煤系统介绍、云南焦化企业智慧选煤解决方案
- 程序设计java银行自动取款机_模拟自动取款机系统(JAVA)
- 【牛客网】美国节日(代码)