x <- array(list(pre
,post
,treat
,diff
,gender
,0
,0
,'E'
,0
,1
,0
,1
,'F'
,1
,0
,0
,0
,'F'
,0
,1
,0
,0
,'H'
,0
,1
,0
,0
,'H'
,0
,1
,0
,0
,'H'
,0
,1
,0
,1
,'E'
,1
,1
,0
,1
,'F'
,1
,1
,0
,0
,'E'
,0
,1
,0
,1
,'F'
,1
,0
,0
,0
,'H'
,0
,0
,0
,0
,'E'
,0
,0
,0
,1
,'F'
,1
,1
,0
,0
,'H'
,0
,0
,0
,1
,'E'
,1
,0
,0
,0
,'H'
,0
,0
,0
,0
,'E'
,0
,1
,0
,0
,'F'
,0
,1
,0
,0
,'H'
,0
,0
,0
,1
,'F'
,1
,0
,0
,0
,'H'
,0
,0
,0
,0
,'H'
,0
,1
,0
,0
,'H'
,0
,0
,0
,0
,'E'
,0
,0
,0
,1
,'F'
,1
,0
,0
,1
,'E'
,1
,0
,0
,1
,'E'
,1
,0
,1
,1
,'F'
,0
,1
,0
,0
,'F'
,0
,0
,0
,0
,'H'
,0
,0
,0
,0
,'E'
,0
,1
,0
,1
,'E'
,1
,1
,0
,0
,'H'
,0
,1
,0
,1
,'E'
,1
,1
,0
,1
,'F'
,1
,1
,0
,0
,'E'
,0
,1
,0
,1
,'F'
,1
,0
,0
,0
,'H'
,0
,0
,0
,1
,'E'
,1
,0
,0
,1
,'F'
,1
,0
,0
,1
,'F'
,1
,0
,0
,0
,'F'
,0
,0
,0
,1
,'F'
,1
,0
,0
,1
,'H'
,1
,1
,0
,1
,'E'
,1
,0
,0
,0
,'E'
,0
,0
,0
,0
,'H'
,0
,0
,0
,1
,'E'
,1
,1
,0
,0
,'F'
,0
,1
,0
,0
,'F'
,0
,0
,0
,0
,'H'
,0
,0
,0
,0
,'E'
,0
,1
,0
,1
,'F'
,1
,1
,0
,1
,'E'
,1
,1
,0
,0
,'H'
,0
,1
,0
,0
,'H'
,0
,1
,0
,0
,'H'
,0
,1
,0
,0
,'E'
,0
,1
,0
,0
,'H'
,0
,0
,0
,1
,'E'
,1
,0
,0
,0
,'H'
,0
,1
,0
,0
,'F'
,0
,1
,0
,0
,'H'
,0
,1
,0
,1
,'F'
,1
,0
,0
,0
,'E'
,0
,1
,0
,1
,'E'
,1
,1
,0
,0
,'F'
,0
,0
,0
,0
,'H'
,0
,1
,0
,0
,'F'
,0
,0
,0
,0
,'E'
,0
,1
,1
,0
,'E'
,-1
,1
,0
,0
,'H'
,0
,0
,0
,0
,'H'
,0
,1
,0
,0
,'F'
,0
,1
,0
,0
,'H'
,0
,1
,0
,1
,'E'
,1
,0
,0
,0
,'F'
,0
,1
,0
,1
,'E'
,1
,0
,0
,0
,'E'
,0
,0
,0
,0
,'E'
,0
,0
,0
,0
,'F'
,0
,1
,0
,0
,'E'
,0
,1
,0
,1
,'F'
,1
,1
,0
,0
,'H'
,0
,1
,1
,1
,'H'
,0
,1
,0
,0
,'H'
,0
,1
,0
,0
,'F'
,0
,0
,0
,0
,'H'
,0
,1
,0
,0
,'H'
,0
,1
,0
,1
,'F'
,1
,1
,0
,1
,'F'
,1
,1
,0
,0
,'H'
,0
,0
,0
,0
,'F'
,0
,1
,0
,0
,'H'
,0
,1
,0
,0
,'E'
,0
,0
,0
,1
,'F'
,1
,1
,0
,0
,'E'
,0
,0
,0
,0
,'H'
,0
,1
,0
,1
,'F'
,1
,1
,1
,1
,'F'
,0
,1
,0
,0
,'H'
,0
,1
,0
,1
,'E'
,1
,1
,0
,0
,'F'
,0
,0
,0
,0
,'H'
,0
,1
,0
,0
,'E'
,0
,1
,0
,0
,'F'
,0
,0
,0
,0
,'H'
,0
,0
,0
,0
,'H'
,0
,1
,0
,1
,'F'
,1
,1
,0
,1
,'F'
,1
,1
,0
,0
,'H'
,0
,1
,0
,0
,'E'
,0
,0
,0
,0
,'H'
,0
,1
,0
,0
,'E'
,0
,1
,0
,0
,'E'
,0
,0
,0
,0
,'F'
,0
,1
,0
,0
,'F'
,0
,1)
,dim=c(5
,118)
,dimnames=list(c('pre'
,'post'
,'treat'
,'diff'
,'gender')
,1:118))
 y <- array(NA,dim=c(5,118),dimnames=list(c('pre','post','treat','diff','gender'),1:118))
 for (i in 1:dim(x)[1])
 {
 	for (j in 1:dim(x)[2])
 	{
 		y[i,j] <- as.numeric(x[i,j])
 	}
 }
par4 = 'TRUE'
par3 = '5'
par2 = '3'
par1 = '1'
ylab = 'Y Variable Name'
xlab = 'X Variable Name'
main = 'Title Goes Here'
par4 <- 'TRUE'
par3 <- '5'
par2 <- '3'
par1 <- '1'
#'GNU S' R Code compiled by R2WASP v. 1.2.291 ()
#Author: aston2
#To cite this work: Ian E. Holliday, 2012, Two-Way ANOVA (v1.0.3) in Free Statistics Software (v$_version), Office for Research Development and Education, URL http://www.wessa.net/Ian.Holliday/rwasp_Two%20Factor%20ANOVA.wasp/
#Source of accompanying publication: 
#
cat1 <- as.numeric(par1) #
cat2<- as.numeric(par2) #
cat3 <- as.numeric(par3)
intercept<-as.logical(par4)
x <- t(x)
x1<-as.numeric(x[,cat1])
f1<-as.character(x[,cat2])
f2 <- as.character(x[,cat3])
xdf<-data.frame(x1,f1, f2)
(V1<-dimnames(y)[[1]][cat1])
(V2<-dimnames(y)[[1]][cat2])
(V3 <-dimnames(y)[[1]][cat3])
names(xdf)<-c('Response', 'Treatment_A', 'Treatment_B')
if(intercept == FALSE) (lmxdf<-lm(Response ~ Treatment_A * Treatment_B- 1, data = xdf) ) else (lmxdf<-lm(Response ~ Treatment_A * Treatment_B, data = xdf) )
(aov.xdf<-aov(lmxdf) )
(anova.xdf<-anova(lmxdf) )

#Note: the /var/fisher/rcomp/createtable file can be downloaded at http://www.wessa.net/cretab
load(file="/var/fisher/rcomp/createtable")

a<-table.start()
a<-table.row.start(a)
a<-table.element(a,'ANOVA Model', length(lmxdf$coefficients)+1,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a, lmxdf$call['formula'],length(lmxdf$coefficients)+1,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a, 'means',,TRUE)
for(i in 1:length(lmxdf$coefficients)){
a<-table.element(a, round(lmxdf$coefficients[i], digits=3),,FALSE)
}
a<-table.row.end(a)
a<-table.end(a)
table.save(a,file="/var/fisher/rcomp/tmp/1p27p1351526411.tab") 
a<-table.start()
a<-table.row.start(a)
a<-table.element(a,'ANOVA Statistics', 5+1,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a, ' ',,TRUE)
a<-table.element(a, 'Df',,FALSE)
a<-table.element(a, 'Sum Sq',,FALSE)
a<-table.element(a, 'Mean Sq',,FALSE)
a<-table.element(a, 'F value',,FALSE)
a<-table.element(a, 'Pr(>F)',,FALSE)
a<-table.row.end(a)
for(i in 1 : length(rownames(anova.xdf))-1){
a<-table.row.start(a)
a<-table.element(a,rownames(anova.xdf)[i] ,,TRUE)
a<-table.element(a, anova.xdf$Df[1],,FALSE)
a<-table.element(a, round(anova.xdf$'Sum Sq'[i], digits=3),,FALSE)
a<-table.element(a, round(anova.xdf$'Mean Sq'[i], digits=3),,FALSE)
a<-table.element(a, round(anova.xdf$'F value'[i], digits=3),,FALSE)
a<-table.element(a, round(anova.xdf$'Pr(>F)'[i], digits=3),,FALSE)
a<-table.row.end(a)
}
a<-table.row.start(a)
a<-table.element(a, 'Residuals',,TRUE)
a<-table.element(a, anova.xdf$'Df'[i+1],,FALSE)
a<-table.element(a, round(anova.xdf$'Sum Sq'[i+1], digits=3),,FALSE)
a<-table.element(a, round(anova.xdf$'Mean Sq'[i+1], digits=3),,FALSE)
a<-table.element(a, ' ',,FALSE)
a<-table.element(a, ' ',,FALSE)
a<-table.row.end(a)
a<-table.end(a)
table.save(a,file="/var/fisher/rcomp/tmp/2j4zu1351526411.tab") 
postscript(file="/var/fisher/rcomp/tmp/35m4h1351526411.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) 
boxplot(Response ~ Treatment_A + Treatment_B, data=xdf, xlab=V2, ylab=V1, main='Boxplots of ANOVA Groups')
dev.off()
postscript(file="/var/fisher/rcomp/tmp/4bz6x1351526411.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) 
xdf2 <- xdf # to preserve xdf make copy for function
names(xdf2) <- c(V1, V2, V3)
plot.design(xdf2, main='Design Plot of Group Means')
dev.off()
postscript(file="/var/fisher/rcomp/tmp/5dtws1351526411.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) 
interaction.plot(xdf$Treatment_A, xdf$Treatment_B, xdf$Response, xlab=V2, ylab=V1, trace.label=V3, main='Possible Interactions Between Anova Groups')
dev.off()
if(intercept==TRUE){
thsd<-TukeyHSD(aov.xdf)
names(thsd) <- c(V2, V3, paste(V2, ':', V3, sep=''))
postscript(file="/var/fisher/rcomp/tmp/6lp001351526411.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) 
layout(matrix(c(1,2,3,3), 2,2))
plot(thsd, las=1)
dev.off()
}
if(intercept==TRUE){
ntables<-length(names(thsd))
a<-table.start()
a<-table.row.start(a)
a<-table.element(a,'Tukey Honest Significant Difference Comparisons', 5,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a, ' ', 1, TRUE)
for(i in 1:4){
a<-table.element(a,colnames(thsd[[1]])[i], 1, TRUE)
}
a<-table.row.end(a)
for(nt in 1:ntables){
for(i in 1:length(rownames(thsd[[nt]]))){
a<-table.row.start(a)
a<-table.element(a,rownames(thsd[[nt]])[i], 1, TRUE)
for(j in 1:4){
a<-table.element(a,round(thsd[[nt]][i,j], digits=3), 1, FALSE)
}
a<-table.row.end(a)
}
} # end nt
a<-table.end(a)
table.save(a,file="/var/fisher/rcomp/tmp/72p4c1351526411.tab") 
}#end if hsd tables
if(intercept==FALSE){
a<-table.start()
a<-table.row.start(a)
a<-table.element(a,'TukeyHSD Message', 1,TRUE)
a<-table.row.end(a)
a<-table.start()
a<-table.row.start(a)
a<-table.element(a,'Must Include Intercept to use Tukey Test ', 1, FALSE)
a<-table.row.end(a)
a<-table.end(a)
table.save(a,file="/var/fisher/rcomp/tmp/8qdum1351526411.tab") 
}
library(car)
lt.lmxdf<-levene.test(lmxdf)
a<-table.start()
a<-table.row.start(a)
a<-table.element(a,'Levenes Test for Homogeneity of Variance', 4,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,' ', 1, TRUE)
for (i in 1:3){
a<-table.element(a,names(lt.lmxdf)[i], 1, FALSE)
}
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Group', 1, TRUE)
for (i in 1:3){
a<-table.element(a,round(lt.lmxdf[[i]][1], digits=3), 1, FALSE)
}
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,' ', 1, TRUE)
a<-table.element(a,lt.lmxdf[[1]][2], 1, FALSE)
a<-table.element(a,' ', 1, FALSE)
a<-table.element(a,' ', 1, FALSE)
a<-table.row.end(a)
a<-table.end(a)
table.save(a,file="/var/fisher/rcomp/tmp/9r47i1351526411.tab") 

try(system("convert tmp/35m4h1351526411.ps tmp/35m4h1351526411.png",intern=TRUE))
try(system("convert tmp/4bz6x1351526411.ps tmp/4bz6x1351526411.png",intern=TRUE))
try(system("convert tmp/5dtws1351526411.ps tmp/5dtws1351526411.png",intern=TRUE))
try(system("convert tmp/6lp001351526411.ps tmp/6lp001351526411.png",intern=TRUE))

