遗传力计算 | 1,随机区组RCBD计算广义遗传力
之前写过几篇博客,介绍植物育种数据中,如何计算广义遗传力,本次博客计划系统的介绍一下。所谓系统,就是包括:数据,代码,结果解读和重演。确保看到即学到,学到能用到。
「系列内容:」
- 1,随机区组RCBD计算广义遗传力
- 2,一年多点随机区组计算广义遗传力
- 3,多年多点随机区组计算广义遗传力
本次博文为第一篇,欢迎点赞,转发,发朋友圈!
1. 随机区组设计介绍
根据局部控制的原则,完全随机区组设计将试验地按肥力水平划分为与处理重复次数相同的若干个区组,在区组内各处理小区完全随机排列的田间试验,区组内肥力相似,区组间肥力不同。
这种试验符合田间试验设计的基本原则:重复、随机、局部控制,应用广泛。
「数据格式:」
❝8个品种,重复4次,分析4个性状。❞
2. 随机区组计算遗传力
遗传力计算中,文献中有两种方法:
- 第一种,残差的方差组分除以重复数
- 第二种,使用残差原始的方差组分
这里,我们使用第二种,即残差的方差组分不进行重复数的矫正。
3. 方差分析的方法计算遗传力
「R代码:」
代码语言:javascript复制dat = read.xlsx("d:/RCBD-dat.xlsx")
dat$Trt = as.factor(dat$Trt)
dat$Rep = as.factor(dat$Rep)
mod = aov(y1 ~ Trt Rep, data=dat)
「方差分析表:」
MSv = 146.28
MSe = 13.8
「根据公式:」
Vg = (146.28-13.8)/4 = 33.12 Ve = Mse = 13.8
遗传力为:h2 = Vg/(Vg Ve) = 33.12/(33.12 13.8) = 0.7058824
注意,这里的遗传力,为广义遗传力。
4. 混合线性模型计算遗传力
混合线性模型,可以直接估算方差组分Vg
和Ve
,一步到位。
「代码:」
代码语言:javascript复制library(asreml)
mod2 = asreml(y1 ~ Rep,random = ~ Trt, data=dat)
summary(mod2)$varcomp
「方差组分:」
可以看到,Vg为33.169,Ve为13.81,结果和方差分析计算的一致。
「计算遗传力:」
asreml中,可以用vpredict
函数计算遗传力,同时会给出遗传力的标准误。
vpredict(mod2,h2 ~ V1/(V1 V2))
结果和使用方差分析计算的遗传力一致。
5. 使用Genstat软件计算遗传力
5.1 方差分析
「数据:」
「模型:」
「结果:」
和R语言结果一致。
Genstat的方差分析,可以直接输出方差组分:
结果:
这里和手动计算的一致:
5.2 混合线性模型
模型:
结果:
5.3 更简单的方案
使用半同胞模型(或者公畜模型),直接计算遗传力。
结果:
可以看到,遗传力结果为0.7059,和上面方差分析和混合线性模型,结果是一致的。
6. 总结
单地点完全随机区组(RCBD)计算遗传力,可以通过方差分析,间接的计算方差组分,然后计算遗传力;也可以通过混合线性模型,将品种作为随机因子,直接计算方差组分,计算遗传力。
计算软件:R语言和Genstat。Genstat是窗口化软件,不用编程,通过鼠标点击的形式完成分析,学习成本较低。
❝注意,Genstat和ASReml为收费版软件,如果想要使用,可以申请免费试用:http://www.vsnc.com.cn/❞
下一篇介绍一年多点数据,如何计算广义遗传力,欢迎继续关注。
大家好,我是邓飞,一个持续分享的农业数据分析师