18.5 Analysis of Variance (ANOVA)


# Tab. 18.7.: ANOVA table for major element oxides and selected trace elements
library(StatDA)
# field duplicates:
data(CHorFieldDUP)
xfield1=CHorFieldDUP[,5:98]
xfield2=CHorFieldDUP[,99:192]

# anaytical duplicates:
data(CHorANADUP)
xanal1=CHorANADUP[,3:96]
xanal2=CHorANADUP[,97:190]

f1s=substr(dimnames(xfield1)[[2]],start=4,stop=20)
f2s=substr(dimnames(xfield2)[[2]],start=4,stop=20)
an1s=substr(dimnames(xanal1)[[2]],start=4,stop=20)
an2s=substr(dimnames(xanal2)[[2]],start=4,stop=20)

seli=c(1,3:15,17:35,37:75,77:length(f1s))
res=matrix(NA,nrow=length(seli),ncol=4)
for (i in 1:length(seli)){
res[i,] <- varcomp(xanal1[,seli[i]],xanal2[,seli[i]],xfield1[,seli[i]],xfield2[,seli[i]])
}

res=matrix(NA,nrow=length(seli),ncol=4)
for (i in 1:length(seli)){
res[i,] <- varcomp(log10(xanal1[,seli[i]]),log10(xanal2[,seli[i]]),
log10(xfield1[,seli[i]]),log10(xfield2[,seli[i]]))
}

dimnames(res)=list(f1s[seli],c("Regional","Site","Analytical","p-value"))
write.csv(round(res,2),file="tab-18-7.csv")