x <- array(list(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 ,117) ,dimnames=list(c('pre' ,'post' ,'treat' ,'diff' ,'gender') ,1:117)) y <- array(NA,dim=c(5,117),dimnames=list(c('pre','post','treat','diff','gender'),1:117)) 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 = '4' ylab = 'Y Variable Name' xlab = 'X Variable Name' main = 'Title Goes Here' 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/1upl71356242315.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/2z8zt1356242315.tab") postscript(file="/var/fisher/rcomp/tmp/3b5ta1356242315.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/4rvqn1356242315.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/5ykbd1356242315.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/6foyx1356242315.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/7wbq31356242315.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/8qs3a1356242315.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/9u88o1356242315.tab") try(system("convert tmp/3b5ta1356242315.ps tmp/3b5ta1356242315.png",intern=TRUE)) try(system("convert tmp/4rvqn1356242315.ps tmp/4rvqn1356242315.png",intern=TRUE)) try(system("convert tmp/5ykbd1356242315.ps tmp/5ykbd1356242315.png",intern=TRUE)) try(system("convert tmp/6foyx1356242315.ps tmp/6foyx1356242315.png",intern=TRUE))