# NOT RUN {
library(agridat)
data(giles.wheat)
dat <- giles.wheat
dat <- transform(dat, gen=factor(gen))
dat <- transform(dat, env=factor(env))
dat1 <- subset(dat, !is.na(straw))
dat2 <- subset(dat, !is.na(emergence))
# Traits are not related
# with(dat, plot(straw~emergence))
# Show unbalancedness of data
if(require(lattice) & require(reshape2)){
redblue <- colorRampPalette(c("firebrick", "lightgray", "#375997"))
levelplot(acast(dat, gen ~ env, value.var='emergence'),
col.regions=redblue,
xlab="genotype", ylab="year",
main="giles.wheat - straw length")
}
# }
# NOT RUN {
# Analysis of straw length
require(emmeans)
require(gnm)
# Mean across years. Matches Piepho Table 7 'Simple'
m1 = lm(straw ~ gen, data=dat1)
emmeans(m1, 'gen')
# Simple two-way model. NOT the bi-additive model of Piepho.
m2 = lm(straw ~ gen + env, data=dat1)
emmeans(m2, 'gen')
# Bi-additive model. Matches Piepho Table 6, rows (c)
library(gnm)
m3 <- gnm(straw ~ env + Mult(gen,env), data=dat1)
cbind(adjusted=round(fitted(m3),0), dat1)
# Analysis of Ear emergence
require(emmeans)
# Simple two-way model.
m4 = lm(emergence ~ 1 + gen + env, data=dat2)
emmeans(m4, c('gen','env')) # Matches Piepho Table 9. rpws (c)
emmeans(m4, 'gen') # Match Piepho table 10, Least Squares column
# }
# NOT RUN {
# }
Run the code above in your browser using DataCamp Workspace