# NOT RUN {
data(becker.chicken)
dat <- becker.chicken
if(require(lattice)){
dotplot(weight ~ female, data=dat, group=male,
main="becker.chicken - progeny weight by M*F",
xlab="female parent",ylab="progeny weight",
auto.key=list(columns=5))
}
# }
# NOT RUN {
# Sums match Becker
sum(dat$weight)
aggregate(weight ~ male + female, dat, FUN=sum)
# Variance components
require(lme4)
require(lucid)
m1 <- lmer(weight ~ (1|male) + (1|female), data=dat)
as.data.frame(lme4::VarCorr(m1))
## grp var1 var2 vcov sdcor
## 1 female (Intercept) <NA> 1095.6296 33.10030
## 2 male (Intercept) <NA> 776.7543 27.87031
## 3 Residual <NA> <NA> 5524.4000 74.32631
# Calculate heritabilities
s2m <- 776 # variability for males
s2f <- 1095 # variability for females
s2w <- 5524 # variability within crosses
vp <- s2m + s2f + s2w # 7395
4*s2m/vp # .42 male heritability
4*s2f/vp # .59 female heritability
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab