OnewayAOV<-function(tabl, sig) { N=length(tabl) n=dim(tabl)[1] m=dim(tabl)[2] corterm=(sum(tabl)^2)/N sst=sum(tabl^2)-corterm a=apply(tabl, 2, sum) ssa=sum( (a^2)/n)-corterm ssw=sst-ssa doft = N-1 dofa = (m-1) dofw = (N-m) MSa=ssa/dofa MSw=ssw/dofw Ft=MSa/MSw Ftable=qf(sig, m-1, N-m) print("*********************************************", quote=FALSE); print("Source SS DoF MeanSQ TEST", quote=FALSE); print(paste(sep=" ", "Among ", format(ssa) , format(dofa), format(MSa), format(Ft) ) , quote=FALSE) print(paste(sep=" ", "Within ", format(ssw), format(dofw), format(MSw) ) , quote=FALSE) print(paste(sep=" ", "Total ", format(sst), format(doft) ) , quote=FALSE) print("*********************************************", quote=FALSE); print(paste(sep=" ","F=", format(Ftable), " at ",sig," level, with ", dofa, " and ", dofw ,"degrees of freedom"), quote=FALSE) print("THUS:", quote=FALSE) if(Ft>Ftable) { print("reject Null hypothesis", quote=FALSE) } else { print("failure to reject Null hypothesis", quote=FALSE) } list(MSa=MSa, MSw=MSw, SSt=sst) }