r i = {{i}}

{{i+1}}. Analysis for trait r traits[i]

lc <- ck.crd(traits[i], trt, dfr)
model <- aov(dfr[, traits[i]] ~ dfr[, trt])
model$terms[[2]] <- traits[i]
at <- anova(model)
rownames(at)[1] <- trt

{{i+1}}.1. ANOVA

You have fitted a linear model for a CRD. The ANOVA table for your model is:

at

The coefficient of variation for this experiment is r format(agricolae::cv.model(model), digits = 4)%. The p-value for r trt.lab.s is r format(at[1, 5], digits = 4) r if(at[1, 5] < 0.05) {"which is significant at the 5% level."} else {"which is not significant at the 5% level."}

{{i+1}}.2. Assumptions

Don't forget the assumptions of the model. It is supposed that the errors are independent with a normal distribution and with the same variance for all the r trt.lab.s. The following residuals plots must help you evaluate this:

par(mfrow = c(1, 2))
plot(model, which = 1)
plot(model, which = 2)

Any trend in the residuals in the left plot would violate the assumption of independence while a trend in the variability of the residuals --for instance a funnel shape-- suggests heterogeneity of variances. Departures from the theoretical normal line on the right plot are symptoms of lack of normality.

{{i+1}}.3. r trt.lab.c means

r if (at[1, 5] < 0.05) {paste("Below are the sorted means for each", trt.lab, "with letters indicating if there are significant differences using the multiple comparisons method of Tukey at the 5% level.")} else {paste("The means of your", trt.lab.s, "are:")}

if (at[1, 5] < 0.05) {
  agricolae::HSD.test(dfr[, traits[i]], dfr[, trt], at[2, 1], at[2, 3])$groups
} else {
  tapply(dfr[, traits[i]], dfr[, trt], mean, na.rm = TRUE)
}

r if (lc$ng < 10) {paste0("It is always good to have some visualization of the data. Because the number of ", trt.lab.s, " in your experiment is not so big, we can plot the data for each ", trt.lab, ":")}

if (lc$ng < 10)
  msdplot(traits[i], trt, dfr, conf = 1, xlab = trt.lab.sc, ylab = traits[i], pch = 4)

{{i+1}}.4. Variance components

Below are the variance components for this model, under the assumption that r trt.lab.s are random. Here the model is fitted using REML.

y <- dfr[, traits[i]]
g <- dfr[, trt]
ff <- as.formula(y ~ (1|g))
model <- lme4::lmer(ff)
vc <- data.frame(lme4::VarCorr(model))
vc[1, 1] <- trt
rownames(vc) <- vc[, 1]
vc <- vc[, c(4, 5)]
colnames(vc) <- c("Variance", "Std.Dev.")
vc


AGROFIMS/hagrofims documentation built on May 6, 2020, 7:43 p.m.