## Analyse wheat dat using asreml and asremlPlus
## Set up for analysis
library(dae)
library(asreml)
## use ?Wheat.dat for data set details
data(Wheat.dat)
# Fit initial model
current.asr <- asreml(yield ~ Rep + WithinColPairs + Variety,
random = ~ Row + Column + units,
rcov = ~ ar1(Row):ar1(Column),
data=Wheat.dat)
summary(current.asr)
# Load current fit into an asrtests object
current.asrt <- asrtests(current.asr, NULL, NULL)
# Check for and remove any boundary terms
current.asrt <- rmboundary.asrtests(current.asrt)
#Check term for within Column pairs
current.asrt <- testranfix.asrtests("WithinColPairs", current.asrt, drop.fix.ns=TRUE)
# Test nugget term
current.asrt <- testranfix.asrtests("units", current.asrt, positive=TRUE)
# Test Row autocorrelation
current.asrt <- testrcov.asrtests("~ Row:ar1(Column)", current.asrt,
label="Row autocorrelation", simpler=TRUE)
# Test Col autocorrelation (depends on whether Row autocorrelation retained)
k <- match("Row autocorrelation", current.asrt$test.summary$terms)
p <- current.asrt$test.summary$p
{if (p[k] <= 0.05)
current.asrt <- testrcov.asrtests("~ ar1(Row):Column", current.asrt,
label="Col autocorrelation", simpler=TRUE,
update=FALSE)
else
current.asrt <- testrcov.asrtests("~ Row:Column", current.asrt,
label="Col autocorrelation", simpler=TRUE,
update=FALSE)
}
print(current.asrt)
# Get current fitted asreml object
current.asr <- current.asrt$asreml.obj
current.asr <- update(current.asr, aom=TRUE)
# Do residuals-versus-fitted values plot
plot(fitted.values(current.asr),residuals(current.asr))
# Form variance matrix based on estimated variance parameters
s2 <- current.asr$sigma2
gamma.Row <- current.asr$gammas[1]
gamma.unit <- current.asr$gammas[2]
rho.r <- current.asr$gammas[4]
rho.c <- current.asr$gammas[5]
row.ar1 <- mat.ar1(order=10, rho=rho.r)
col.ar1 <- mat.ar1(order=15, rho=rho.c)
V <- fac.vcmat(Wheat.dat$Row, gamma.Row) +
gamma.unit * diag(1, nrow=150, ncol=150) +
mat.dirprod(row.ar1, col.ar1)
V <- s2*V
#Produce variogram and variogram faces plot (Stefanaova et al, 2009)
plot.asrVariogram(variogram(current.asr))
variofaces.asreml(current.asr, V=V)
#Get Variety predictionsand all pairwise prediction differences and p-values
Var.diffs <- predictparallel.asreml(classify = "Variety",
asreml.obj=current.asr,
error.intervals="halfLeast",
wald.tab=current.asrt$wald.tab,
tables = "predictions")
print(Var.diffs, which = c("differences", "p.differences"))Run the code above in your browser using DataLab