R breeding

R求解混合线性模型

2019-03-23  本文已影响69人  KK_f2d5

1、R包

想用R语言进行混合线性模型的求解,发现有很多包。

Asreml-R 但是要钱,没有
sommer
lme4
rrblup 返回BLUE, BLUP, 但是单随机效应。

2、举例

#use sommer
#estimate polygenic evariances
ans.Ad <- mmer(color~1,
               random = ~vs(id,Gu=GA),
               rcov = ~units,
               data = DT)
summary(ans.Ad)

Gu表示方差协方差矩阵。等价于:

Dcom_ka<-decom(GA) #矩阵奇异值分解
d_squared<-sqrt(Dcom_ka$d)#开根号
kaz<-Dcom_ka$u%*%(diag(dim(D)[1])*d_squared)
DT$kaz<-kaz
ans.AD <- mmer(color~1,
               random = ~vs(kaz), 
               rcov = ~units,
               data = DT)
summary(ans.AD)

当然了也可以,自己代码求解方程。
推荐 https://www.jianshu.com/p/0847264c98a9

3、一些概念的梳理

1、我们为什么用混合线性模型?
因为存在随机效应和固定效应

2、求解混合线性模型主要是在做什么?
随机效应各项方差分量的估计和固定效应的估计。

3、随机效应的方差分量估计有哪些方法?
1)henderson3(期望平方和等于平方和的求解)
2)EML, REML。迭代求解sigma方
3)最小范数二次无偏估计

4、BLUP是什么?
不仅需要随机效应的方差分量,还想推断随机效应的值

上一篇 下一篇

猜你喜欢

热点阅读