本节,介绍如何使用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值相关推荐

  1. opencv判断 线夹角_opencv计算直线的斜率、截距,与水平线弧度值、角度值

    opencv计算直线的斜率.截距,与水平线弧度值.角度值 发布时间:2018-07-10 12:56, 浏览次数:1324 , 标签: opencv 1.输入一堆直线,返回每条直线的斜率和截距 斜率和 ...

  2. R语言使用lm构建线性回归模型、并将目标变量对数化实战:模型训练集和测试集的残差总结信息(residiual summary)、模型训练(测试)集自由度计算、模型训练(测试)集残差标准误计算

    R语言使用lm构建线性回归模型.并将目标变量对数化实战:模型训练集和测试集的残差总结信息(residiual summary).模型训练(测试)集自由度计算.模型训练(测试)集残差标准误计算(Resi ...

  3. R语言决策树、bagging、随机森林模型在训练集以及测试集的预测结果(accuray、F1、偏差Deviance)对比分析、计算训练集和测试集的预测结果的差值来分析模型的过拟合(overfit)情况

    R语言决策树.bagging.随机森林模型在训练集以及测试集的预测结果(accuray.F1.偏差Deviance)对比分析.计算训练集和测试集的预测结果的差值来分析模型的过拟合(overfit)情况 ...

  4. 用计算机算出90除以6.28,用计算器计算:sin51°30′+ cos49°50′-tan46°10′的值是 .——青夏教育精英家教网——...

    题目所在试卷参考答案: 参考答案 一.基础.巩固达标 1.在Rt△ABC中,如果各边长度都扩大2倍,则锐角A的正弦值和余弦值( ) A.都没有变化 B.都扩大2倍 C.都缩小2倍 D.不能确定 思路解 ...

  5. 征值和特征向量的几何意义、计算及其性质

    征值和特征向量的几何意义.计算及其性质 一.特征值和特征向量的几何意义 特征值和特征向量确实有很明确的几何意义,矩阵(既然讨论特征向量的问题,当然是方阵,这里不讨论广义特征向量的概念,就是一般的特征向 ...

  6. php分页排序不变化,php – 计算已排序分页的给定记录的跳过值

    我正在尝试使用php驱动程序计算mongo db集合中给定记录的跳过值.因此,获取给定记录,找出整个集合中该记录的索引.这可能吗? 目前我正在选择所有记录并手动对结果数组进行索引. 解决方法: 这称为 ...

  7. 获取数组中元素值为偶数的累加和与元素值为奇数的累加和,并计算他们之间的差值

    /*** 1.获取数组中元素值为偶数的累加和与元素值为奇数的累加和,并计算他们之间的差值* 1.定义int getNum(int[] arr)静态方法,该方法要求完成* 1.1 获取指定数组arr中元 ...

  8. C语言求x和y的乘积,计算方程式,求x,C语言中怎么计算x,y的值?

    导航:网站首页 > 计算方程式,求x,C语言中怎么计算x,y的值? 计算方程式,求x,C语言中怎么计算x,y的值? 匿名网友: (x-1)=0吧,写题也这么不仔细呀. 哈哈m/x=n/(x-1) ...

  9. R语言使用cph函数和rcs函数构建限制性立方样条cox回归模型、使用rms包的Predict函数计算指定连续变量和风险比HR值的关系、可视化连续变量和风险值HR的关系

    R语言使用cph函数和rcs函数构建限制性立方样条cox回归模型.使用rms包的Predict函数计算指定连续变量和风险比HR值的关系.可视化连续变量和风险值HR的关系 目录

最新文章

  1. Android的应用程序结构分析:HelloActivity 第二部分【转】
  2. android manifest简介
  3. 提权 调试权限 OpenProcess 拒绝访问的解决办法
  4. CSS一个元素同时使用多个类选择器(class selector)
  5. SilverlightComponent for ExtJS
  6. Ananagrams (多种stl)
  7. [转]互联网企业安全建设(一)
  8. Windows系统结构图
  9. 微信小程序实现图片预览(闭眼cv)
  10. 怎样在计算机上设置纸大小,电脑中打印机设备自定义纸张打印大小的方法
  11. Arc consistency in CSPs
  12. 综合电商高保真移动端Axure原型模板
  13. 哪种锻炼方式最能让程序猿远离亚健康? - 强烈推荐
  14. python怎么批量下载年报_如何使用python批量下载统计年鉴中的excel网页?
  15. 编程基本功训练:流程图画法及练习
  16. java.io.IOException: unexpected end of stream on https://xxx.xxx.xxx.xxx:84/
  17. 简单实用的Python图像处理库Pillow
  18. 华为云智能配煤系统介绍、云南焦化企业智慧选煤解决方案
  19. 程序设计java银行自动取款机_模拟自动取款机系统(JAVA)
  20. 【牛客网】美国节日(代码)

热门文章

  1. 如何调整图片像素大小
  2. 在 PHP 中从数组中删除一个元素
  3. 系统监控的四个黄金指标
  4. 从特斯拉到爱因斯坦,物理学家为何钟情于猫
  5. 怎么把两个音频合成一个?
  6. 过敏性鼻炎的治疗和保养
  7. 正和岛青年徽商正和塾小组2021年首聚—走进掌榕
  8. app软件系统开发好后有哪些盈利方式?
  9. Java、JSP通用SQL查询分析器
  10. EasyDSS部署在C盘,录像回看无法正常播放该如何解决?