育种数据分析之放飞自我分享 http://blog.sciencenet.cn/u/yijiaobai 关注:生物统计,数量遗传,混合线性模型,生物信息,R,Perl,Python,GWAS,GS相关方法,文章及代码

博文

关于MET数据中地点间异质性检验的问题

已有 3510 次阅读 2017-6-27 08:50 |个人分类:农学统计|系统分类:科研笔记

绍GenStat、ASReml和R语言处理的方法

介绍GenStat、ASReml和R语言处理的方法

数据:wang9.1.csv
wang9.1.csv
GenStat 处理方法

ANOVA
对数据进行筛选,选择第一个地点的数据,进行分析,得到第一个地点的MSE。
Model
第一个地点的自由度和MSE

10个地点的DF和MSE:

Bartlett’s test
GenStat command:
VHOMOGENEITY [group=Loc] ;var=MSE;DF=DF
Result:
Bartlett’s test for homogeneity of variances
Chi-square 15.37 on 9 degrees of freedom: probability 0.081
Line Mixed Model
Model 1


Model 2


LRT检验
X = -535.76+551.36 = 15.6
DF = 239-230 =9

结果是0.075,不显著,地点间方差其次。
asreml-r

和GenStat的Anova和mixed model结果一样。

dat <- dat[order(dat$loc),]
library(asreml)
summary(dat)
model1 <- asreml(yield ~1 + cul*loc+loc/block,                rcov =~ units,data=dat)
model2 <- asreml(yield ~1 + cul*loc+loc/block,                rcov =~ at(loc):units,data=dat)
1- pchisq(2*(model2$loglik-model1$loglik),9)

结果:

R语言代码

lianhe <- dat
head(lianhe)
a <- levels(lianhe$loc)
ams <- NULL
DF <- NULL
for(i in 1:length(a))
{  rr = lianhe[which(lianhe$loc == a[i]),]  result <- aov(yield ~ cul + block,data=rr)  DF[i] = result$df.residual;  ms[i] = sum(residuals(result)^2/DF[i])}
msdata <- data.frame(DF = DF,ms=ms)
msdatamean_ms <- mean(ms);mean_ms#  
 qq <- log(ms,base=exp(1));
qq#   S <- sum(qq);S#   
X <- DF*(10*log(mean_ms,base=exp(1))-S)
XS <- sum(log10(ms));
Smslength(a) ->b
W <- b*log10(mean_ms);
Wdf <-DF[1];df <- as.numeric(df);
dfX2 <- 2.3026*df*(W-S);
X2C <- 1+(b+1)/((3*b)*DF[1]) 
#C# > C# [1] 1.015278XXc <- X2/C;
XXcchi <- qchisq(0.95,b-1);
chi 1- pchisq(XXc,b-1) 
msdata




https://blog.sciencenet.cn/blog-2577109-1063185.html

上一篇:ASreml -r 及R语言 内存设置方法
下一篇:Partially replicated (p-rep) designs 文献解析及实现方法
收藏 IP: 52.175.48.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-7-25 09:06

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部