x <- array(list(67,1,86,2,86,2,103,3,74,1,63,1,82,2,93,2,77,1,111,3,71,1,103,3,89,2,75,1,88,2,84,2,85,2,70,1,104,3,88,2,77,1,77,1,72,1,70,1,83,2,110,3,91,2,80,2,91,2,86,2,85,2,107,3,93,2,87,2,84,2,73,1,84,2,86,2,99,3,75,1,87,2,79,1,82,2,95,3,84,2,85,2,95,3,63,1,78,1,85,2,86,2,75,1,98,3,71,1,63,1,71,1,84,2,81,2,93,2,79,1,63,1,93,2,92,2,93,2,83,2,80,2,111,3,92,2,79,1,69,1,83,2,80,2,91,2,97,3,85,2,85,2,99,3,67,1,87,2,68,1,81,2,80,2,93,2,93,2,102,3,104,3,90,2,85,2,92,2,82,2,85,2,89,2,77,1,79,1,76,1,101,3,81,2,92,2,89,2,81,2,77,1,95,3,85,2,81,2,76,1,93,2,104,3,89,2,76,1,77,1,71,1,79,1,89,2,81,2,99,3,81,2,84,2,85,2,111,3,78,1,111,3,78,1,87,2,92,2,93,2,70,1,84,2,75,1,105,3,96,3,85,2,87,2,75,1,103,3,86,2,77,1,74,1,74,1,76,1,83,2,101,3,83,2,92,2,74,1,87,2,71,1,79,1,83,2,80,2,90,2,80,2,96,3,109,3,98,3,85,2,83,2,86,2,72,1,83,2,75,1),dim=c(2,160),dimnames=list(c('MVRBIQ0','MVIQ'),1:160)) y <- array(NA,dim=c(2,160),dimnames=list(c('MVRBIQ0','MVIQ'),1:160)) for (i in 1:dim(x)[1]) { for (j in 1:dim(x)[2]) { y[i,j] <- as.numeric(x[i,j]) } } par3 = 'TRUE' par2 = '2' par1 = '1' ylab = 'Y Variable Name' xlab = 'X Variable Name' main = 'Title Goes Here' par3 <- 'TRUE' par2 <- '2' par1 <- '1' #'GNU S' R Code compiled by R2WASP v. 1.2.291 () #Author: aston2 #To cite this work: Ian E. Holliday, 2012, One-Way-Between-Groups ANOVA (v1.0.4) in Free Statistics Software (v$_version), Office for Research Development and Education, URL http://www.wessa.net/Ian.Holliday/rwasp_One%20Factor%20ANOVA.wasp/ #Source of accompanying publication: # cat1 <- as.numeric(par1) # cat2<- as.numeric(par2) # intercept<-as.logical(par3) x <- t(x) x1<-as.numeric(x[,cat1]) f1<-as.character(x[,cat2]) xdf<-data.frame(x1,f1) (V1<-dimnames(y)[[1]][cat1]) (V2<-dimnames(y)[[1]][cat2]) names(xdf)<-c('Response', 'Treatment') if(intercept == FALSE) (lmxdf<-lm(Response ~ Treatment - 1, data = xdf) ) else (lmxdf<-lm(Response ~ Treatment, data = xdf) ) (aov.xdf<-aov(lmxdf) ) (anova.xdf<-anova(lmxdf) ) #Note: the /var/wessaorg/rcomp/createtable file can be downloaded at http://www.wessa.net/cretab load(file="/var/wessaorg/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, paste(V1, ' ~ ', V2), 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/wessaorg/rcomp/tmp/1wa481352157849.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) a<-table.row.start(a) a<-table.element(a, V2,,TRUE) a<-table.element(a, anova.xdf$Df[1],,FALSE) a<-table.element(a, round(anova.xdf$'Sum Sq'[1], digits=3),,FALSE) a<-table.element(a, round(anova.xdf$'Mean Sq'[1], digits=3),,FALSE) a<-table.element(a, round(anova.xdf$'F value'[1], digits=3),,FALSE) a<-table.element(a, round(anova.xdf$'Pr(>F)'[1], 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[2],,FALSE) a<-table.element(a, round(anova.xdf$'Sum Sq'[2], digits=3),,FALSE) a<-table.element(a, round(anova.xdf$'Mean Sq'[2], 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/wessaorg/rcomp/tmp/22z4q1352157849.tab") postscript(file="/var/wessaorg/rcomp/tmp/3voc51352157849.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) boxplot(Response ~ Treatment, data=xdf, xlab=V2, ylab=V1) dev.off() if(intercept==TRUE){ 'Tukey Plot' thsd<-TukeyHSD(aov.xdf) postscript(file="/var/wessaorg/rcomp/tmp/43n7s1352157850.ps",horizontal=F,onefile=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) plot(thsd) dev.off() } if(intercept==TRUE){ 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(i in 1:length(rownames(thsd[[1]]))){ a<-table.row.start(a) a<-table.element(a,rownames(thsd[[1]])[i], 1, TRUE) for(j in 1:4){ a<-table.element(a,round(thsd[[1]][i,j], digits=3), 1, FALSE) } a<-table.row.end(a) } a<-table.end(a) table.save(a,file="/var/wessaorg/rcomp/tmp/51rpz1352157850.tab") } 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/wessaorg/rcomp/tmp/6u4io1352157850.tab") } library(car) lt.lmxdf<-leveneTest(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/wessaorg/rcomp/tmp/79oys1352157850.tab") try(system("convert tmp/3voc51352157849.ps tmp/3voc51352157849.png",intern=TRUE)) try(system("convert tmp/43n7s1352157850.ps tmp/43n7s1352157850.png",intern=TRUE))