# NOT RUN {
data(lonnquist.maize)
dat <- lonnquist.maize
dat <- transform(dat,
p1=factor(p1,
levels=c("C","L","M","H","G","P","B","RM","N","K","R2","K2")),
p2=factor(p2,
levels=c("C","L","M","H","G","P","B","RM","N","K","R2","K2")))
require(lattice)
levelplot(yield ~ p1*p2, dat, col.regions=RedGrayBlue,
main="lonnquist.maize - yield of diallel cross")
# Calculate the F1 means in Lonnquist, table 1
require(reshape2)
mat <- acast(dat, p1~p2)
mat[upper.tri(mat)] <- t(mat)[upper.tri(mat)] # make symmetric
diag(mat) <- NA
round(rowMeans(mat, na.rm=TRUE),1)
## C L M H G P B RM N K R2 K2
## 94.8 89.2 95.0 96.4 95.3 95.2 97.3 93.7 95.0 94.0 98.9 102.4
# }
# NOT RUN {
# Mohring 2011 used 6 varieties to calculate GCA & SCA
# Matches Table 3, column 2
d2 <- subset(dat, p1 <!-- %in% c("M","H","G","B","K","K2") & -->
p2 <!-- %in% c("M","H","G","B","K","K2")) -->
d2 <- droplevels(d2)
require(asreml)
m2 <- asreml(yield~ 1, data=d2, random = ~ p1 + and(p2))
require(lucid)
vc(m2)
## effect component std.error z.ratio con
## p1!p1.var 3.865 3.774 1 Positive
## R!variance 15.93 5.817 2.7 Positive
# Calculate GCA effects
m3 <- asreml(yield~ p1 + and(p2), data=d2)
coef(m3)$fixed-1.462
# Matches Gardner 1966, Table 5, Griffing method
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab