R version 2.8.0 (2008-10-20) Copyright (C) 2008 The R Foundation for Statistical Computing ISBN 3-900051-07-0 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. Natural language support but running in an English locale R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > 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]) + } + } There were 50 or more warnings (use warnings() to see the first 50) > par4 = 'TRUE' > par3 = '5' > par2 = '3' > par1 = '2' > ylab = 'Y Variable Name' > xlab = 'X Variable Name' > main = 'Title Goes Here' > #'GNU S' R Code compiled by R2WASP v. 1.0.44 () > #Author: Dr. Ian E. Holliday > #To cite this work: Ian E. Holliday, 2009, YOUR SOFTWARE TITLE (vNUMBER) in Free Statistics Software (v$_version), Office for Research Development and Education, URL http://www.wessa.net/rwasp_YOURPAGE.wasp/ > #Source of accompanying publication: > #Technical description: > 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]) [1] "post" > (V2<-dimnames(y)[[1]][cat2]) [1] "treat" > (V3 <-dimnames(y)[[1]][cat3]) [1] "gender" > 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) ) Call: lm(formula = Response ~ Treatment_A * Treatment_B, data = xdf) Coefficients: (Intercept) Treatment_AF 0.47059 0.05882 Treatment_AH Treatment_B1 -0.47059 -0.12059 Treatment_AF:Treatment_B1 Treatment_AH:Treatment_B1 0.15639 0.19751 > (aov.xdf<-aov(lmxdf) ) Call: aov(formula = lmxdf) Terms: Treatment_A Treatment_B Treatment_A:Treatment_B Residuals Sum of Squares 5.281081 0.000120 0.199883 20.518916 Deg. of Freedom 2 1 2 111 Residual standard error: 0.4299478 Estimated effects may be unbalanced > (anova.xdf<-anova(lmxdf) ) Analysis of Variance Table Response: Response Df Sum Sq Mean Sq F value Pr(>F) Treatment_A 2 5.2811 2.6405 14.2844 3.018e-06 *** Treatment_B 1 0.0001 0.0001 0.0007 0.9797 Treatment_A:Treatment_B 2 0.1999 0.0999 0.5406 0.5839 Residuals 111 20.5189 0.1849 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 > > #Note: the /var/www/html/freestat/rcomp/createtable file can be downloaded at http://www.wessa.net/cretab > load(file="/var/www/html/freestat/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/www/html/freestat/rcomp/tmp/1ai791290031209.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/www/html/freestat/rcomp/tmp/2vj5x1290031209.tab") > postscript(file="/var/www/html/freestat/rcomp/tmp/3oa5i1290031209.ps",horizontal=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() null device 1 > postscript(file="/var/www/html/freestat/rcomp/tmp/4oa5i1290031209.ps",horizontal=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() null device 1 > postscript(file="/var/www/html/freestat/rcomp/tmp/5oa5i1290031209.ps",horizontal=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() null device 1 > if(intercept==TRUE){ + thsd<-TukeyHSD(aov.xdf) + names(thsd) <- c(V2, V3, paste(V2, ':', V3, sep='')) + postscript(file="/var/www/html/freestat/rcomp/tmp/6z1ml1290031209.ps",horizontal=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() + } null device 1 > 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/www/html/freestat/rcomp/tmp/7k2kr1290031209.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/www/html/freestat/rcomp/tmp/8db1u1290031209.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/www/html/freestat/rcomp/tmp/9yu0i1290031209.tab") > > try(system("convert tmp/3oa5i1290031209.ps tmp/3oa5i1290031209.png",intern=TRUE)) character(0) > try(system("convert tmp/4oa5i1290031209.ps tmp/4oa5i1290031209.png",intern=TRUE)) character(0) > try(system("convert tmp/5oa5i1290031209.ps tmp/5oa5i1290031209.png",intern=TRUE)) character(0) > try(system("convert tmp/6z1ml1290031209.ps tmp/6z1ml1290031209.png",intern=TRUE)) character(0) > > > proc.time() user system elapsed 1.593 0.852 1.756