data(DT_h2)
DT <- DT_h2
head(DT)
# \donttest{
############### sommer ################
if(requireNamespace("sommer")){
library(sommer)
DT=DT[with(DT, order(Env)), ]
ans1 <- mmes(y~Env, henderson=TRUE,
random=~vsm(dsm(Env),ism(Name)) + vsm(dsm(Env),ism(Block)),
rcov=~vsm(dsm(Env),ism(units)),
data=DT)
summary(ans1)$varcomp
}
############### lme4breeding ################
if(requireNamespace("lme4breeding")){
library(lme4breeding)
# model with:
# Main+Diagonal for Name
# Diagonal for Block
# Diagonal for residuals
DT=DT[with(DT, order(Env)), ]
ans1b <- lmeb(y ~ Env + (Env||Name) + (0+Env||Block) + (0+Env||unitsR),
verbose = 1L,
data=DT)
vc <- VarCorr(ans1b); print(vc,comp=c("Variance"))
sigma(ans1b)^2 # error variance
BLUP <- ranef(ans1b, condVar=TRUE)
condVAR <- lapply(BLUP, function(x){attr(x, which="postVar")}) # take sqrt() for SEs
}
############### end ################
# }
Run the code above in your browser using DataLab