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('E' + ,0 + ,1 + ,'F' + ,1 + ,0 + ,'F' + ,0 + ,1 + ,'H' + ,0 + ,1 + ,'H' + ,0 + ,1 + ,'H' + ,0 + ,1 + ,'E' + ,1 + ,1 + ,'F' + ,1 + ,1 + ,'E' + ,0 + ,1 + ,'F' + ,1 + ,0 + ,'H' + ,0 + ,0 + ,'E' + ,0 + ,0 + ,'F' + ,1 + ,1 + ,'H' + ,0 + ,0 + ,'E' + ,1 + ,0 + ,'H' + ,0 + ,0 + ,'E' + ,0 + ,1 + ,'F' + ,0 + ,1 + ,'H' + ,0 + ,0 + ,'F' + ,1 + ,0 + ,'H' + ,0 + ,0 + ,'H' + ,0 + ,1 + ,'H' + ,0 + ,0 + ,'E' + ,0 + ,0 + ,'F' + ,1 + ,0 + ,'E' + ,1 + ,0 + ,'E' + ,1 + ,0 + ,'F' + ,0 + ,1 + ,'F' + ,0 + ,0 + ,'H' + ,0 + ,0 + ,'E' + ,0 + ,1 + ,'E' + ,1 + ,1 + ,'H' + ,0 + ,1 + ,'E' + ,1 + ,1 + ,'F' + ,1 + ,1 + ,'E' + ,0 + ,1 + ,'F' + ,1 + ,0 + ,'H' + ,0 + ,0 + ,'E' + ,1 + ,0 + ,'F' + ,1 + ,0 + ,'F' + ,1 + ,0 + ,'F' + ,0 + ,0 + ,'F' + ,1 + ,0 + ,'H' + ,1 + ,1 + ,'E' + ,1 + ,0 + ,'E' + ,0 + ,0 + ,'H' + ,0 + ,0 + ,'E' + ,1 + ,1 + ,'F' + ,0 + ,1 + ,'F' + ,0 + ,0 + ,'H' + ,0 + ,0 + ,'E' + ,0 + ,1 + ,'F' + ,1 + ,1 + ,'E' + ,1 + ,1 + ,'H' + ,0 + ,1 + ,'H' + ,0 + ,1 + ,'H' + ,0 + ,1 + ,'E' + ,0 + ,1 + ,'H' + ,0 + ,0 + ,'E' + ,1 + ,0 + ,'H' + ,0 + ,1 + ,'F' + ,0 + ,1 + ,'H' + ,0 + ,1 + ,'F' + ,1 + ,0 + ,'E' + ,0 + ,1 + ,'E' + ,1 + ,1 + ,'F' + ,0 + ,0 + ,'H' + ,0 + ,1 + ,'F' + ,0 + ,0 + ,'E' + ,0 + ,1 + ,'E' + ,-1 + ,1 + ,'H' + ,0 + ,0 + ,'H' + ,0 + ,1 + ,'F' + ,0 + ,1 + ,'H' + ,0 + ,1 + ,'E' + ,1 + ,0 + ,'F' + ,0 + ,1 + ,'E' + ,1 + ,0 + ,'E' + ,0 + ,0 + ,'E' + ,0 + ,0 + ,'F' + ,0 + ,1 + ,'E' + ,0 + ,1 + ,'F' + ,1 + ,1 + ,'H' + ,0 + ,1 + ,'H' + ,0 + ,1 + ,'H' + ,0 + ,1 + ,'F' + ,0 + ,0 + ,'H' + ,0 + ,1 + ,'H' + ,0 + ,1 + ,'F' + ,1 + ,1 + ,'F' + ,1 + ,1 + ,'H' + ,0 + ,0 + ,'F' + ,0 + ,1 + ,'H' + ,0 + ,1 + ,'E' + ,0 + ,0 + ,'F' + ,1 + ,1 + ,'E' + ,0 + ,0 + ,'H' + ,0 + ,1 + ,'F' + ,1 + ,1 + ,'F' + ,0 + ,1 + ,'H' + ,0 + ,1 + ,'E' + ,1 + ,1 + ,'F' + ,0 + ,0 + ,'H' + ,0 + ,1 + ,'E' + ,0 + ,1 + ,'F' + ,0 + ,0 + ,'H' + ,0 + ,0 + ,'H' + ,0 + ,1 + ,'F' + ,1 + ,1 + ,'F' + ,1 + ,1 + ,'H' + ,0 + ,1 + ,'E' + ,0 + ,0 + ,'H' + ,0 + ,1 + ,'E' + ,0 + ,1 + ,'E' + ,0 + ,0 + ,'F' + ,0 + ,1 + ,'F' + ,0 + ,1) + ,dim=c(3 + ,117) + ,dimnames=list(c('Dist' + ,'Brand' + ,'Club') + ,1:117)) > y <- array(NA,dim=c(3,117),dimnames=list(c('Dist','Brand','Club'),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 = '3' > par2 = '1' > 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] "Brand" > (V2<-dimnames(y)[[1]][cat2]) [1] "Dist" > (V3 <-dimnames(y)[[1]][cat3]) [1] "Club" > 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.17059 Treatment_AF:Treatment_B1 Treatment_AH:Treatment_B1 0.11944 0.20905 > (aov.xdf<-aov(lmxdf) ) Call: aov(formula = lmxdf) Terms: Treatment_A Treatment_B Treatment_A:Treatment_B Residuals Sum of Squares 4.852212 0.105118 0.201328 21.371257 Deg. of Freedom 2 1 2 111 Residual standard error: 0.4387868 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 4.8522 2.4261 12.6009 1.170e-05 *** Treatment_B 1 0.1051 0.1051 0.5460 0.4615 Treatment_A:Treatment_B 2 0.2013 0.1007 0.5228 0.5943 Residuals 111 21.3713 0.1925 --- 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/15zvn1288355965.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/219e61288355966.tab") > postscript(file="/var/www/html/freestat/rcomp/tmp/319e61288355966.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/419e61288355966.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/5c1dr1288355966.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/6c1dr1288355966.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/7qati1288355966.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/8qati1288355966.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/942r91288355966.tab") > try(system("convert tmp/319e61288355966.ps tmp/319e61288355966.png",intern=TRUE)) character(0) > try(system("convert tmp/419e61288355966.ps tmp/419e61288355966.png",intern=TRUE)) character(0) > try(system("convert tmp/5c1dr1288355966.ps tmp/5c1dr1288355966.png",intern=TRUE)) character(0) > try(system("convert tmp/6c1dr1288355966.ps tmp/6c1dr1288355966.png",intern=TRUE)) character(0) > > > proc.time() user system elapsed 1.509 0.836 1.647