R version 2.9.0 (2009-04-17) Copyright (C) 2009 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. 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('GOOD' + ,'HIGH' + ,25 + ,'GOOD' + ,'HIGH' + ,0 + ,'GOOD' + ,'HIGH' + ,-16 + ,'GOOD' + ,'HIGH' + ,5 + ,'GOOD' + ,'HIGH' + ,11 + ,'GOOD' + ,'HIGH' + ,-6 + ,'GOOD' + ,'HIGH' + ,42 + ,'GOOD' + ,'HIGH' + ,-2 + ,'GOOD' + ,'HIGH' + ,-13 + ,'GOOD' + ,'HIGH' + ,14 + ,'GOOD' + ,'HIGH' + ,4 + ,'GOOD' + ,'HIGH' + ,-22 + ,'GOOD' + ,'HIGH' + ,19 + ,'GOOD' + ,'HIGH' + ,6 + ,'GOOD' + ,'HIGH' + ,-6 + ,'GOOD' + ,'LOW' + ,-25 + ,'GOOD' + ,'LOW' + ,-23 + ,'GOOD' + ,'LOW' + ,-28 + ,'GOOD' + ,'LOW' + ,-22 + ,'GOOD' + ,'LOW' + ,-22 + ,'GOOD' + ,'LOW' + ,-10 + ,'GOOD' + ,'LOW' + ,-20 + ,'GOOD' + ,'LOW' + ,-24 + ,'GOOD' + ,'LOW' + ,-24 + ,'GOOD' + ,'LOW' + ,-22 + ,'GOOD' + ,'LOW' + ,-23 + ,'GOOD' + ,'LOW' + ,-19 + ,'GOOD' + ,'LOW' + ,-2 + ,'GOOD' + ,'LOW' + ,12 + ,'GOOD' + ,'LOW' + ,-8 + ,'GOOD' + ,'LOW' + ,-17 + ,'GOOD' + ,'LOW' + ,-30 + ,'SCIENTIFIC' + ,'HIGH' + ,-19 + ,'SCIENTIFIC' + ,'HIGH' + ,-24 + ,'SCIENTIFIC' + ,'HIGH' + ,-4 + ,'SCIENTIFIC' + ,'HIGH' + ,-24 + ,'SCIENTIFIC' + ,'HIGH' + ,0 + ,'SCIENTIFIC' + ,'HIGH' + ,-4 + ,'SCIENTIFIC' + ,'HIGH' + ,5 + ,'SCIENTIFIC' + ,'HIGH' + ,-1 + ,'SCIENTIFIC' + ,'HIGH' + ,-9 + ,'SCIENTIFIC' + ,'HIGH' + ,-5 + ,'SCIENTIFIC' + ,'HIGH' + ,-6 + ,'SCIENTIFIC' + ,'HIGH' + ,4 + ,'SCIENTIFIC' + ,'HIGH' + ,-13 + ,'SCIENTIFIC' + ,'HIGH' + ,-1 + ,'SCIENTIFIC' + ,'HIGH' + ,-3 + ,'SCIENTIFIC' + ,'HIGH' + ,-11 + ,'SCIENTIFIC' + ,'HIGH' + ,-6 + ,'SCIENTIFIC' + ,'HIGH' + ,-4 + ,'SCIENTIFIC' + ,'LOW' + ,6 + ,'SCIENTIFIC' + ,'LOW' + ,-5 + ,'SCIENTIFIC' + ,'LOW' + ,14 + ,'SCIENTIFIC' + ,'LOW' + ,-11 + ,'SCIENTIFIC' + ,'LOW' + ,14 + ,'SCIENTIFIC' + ,'LOW' + ,-5 + ,'SCIENTIFIC' + ,'LOW' + ,-22 + ,'SCIENTIFIC' + ,'LOW' + ,7 + ,'SCIENTIFIC' + ,'LOW' + ,14 + ,'SCIENTIFIC' + ,'LOW' + ,15 + ,'SCIENTIFIC' + ,'LOW' + ,-6 + ,'SCIENTIFIC' + ,'LOW' + ,9 + ,'SCIENTIFIC' + ,'LOW' + ,-5 + ,'NONE' + ,'HIGH' + ,-26 + ,'NONE' + ,'HIGH' + ,-1 + ,'NONE' + ,'HIGH' + ,22 + ,'NONE' + ,'HIGH' + ,3 + ,'NONE' + ,'HIGH' + ,-26 + ,'NONE' + ,'HIGH' + ,4 + ,'NONE' + ,'HIGH' + ,-21 + ,'NONE' + ,'HIGH' + ,-19 + ,'NONE' + ,'HIGH' + ,-12 + ,'NONE' + ,'HIGH' + ,9 + ,'NONE' + ,'HIGH' + ,-9 + ,'NONE' + ,'HIGH' + ,-27 + ,'NONE' + ,'HIGH' + ,-10 + ,'NONE' + ,'HIGH' + ,-37 + ,'NONE' + ,'HIGH' + ,0 + ,'NONE' + ,'HIGH' + ,-10 + ,'NONE' + ,'LOW' + ,-12 + ,'NONE' + ,'LOW' + ,-4 + ,'NONE' + ,'LOW' + ,13 + ,'NONE' + ,'LOW' + ,-27 + ,'NONE' + ,'LOW' + ,-7 + ,'NONE' + ,'LOW' + ,-20 + ,'NONE' + ,'LOW' + ,-4 + ,'NONE' + ,'LOW' + ,-10 + ,'NONE' + ,'LOW' + ,-3 + ,'NONE' + ,'LOW' + ,-11 + ,'NONE' + ,'LOW' + ,2 + ,'NONE' + ,'LOW' + ,-9 + ,'NONE' + ,'LOW' + ,20 + ,'NONE' + ,'LOW' + ,9 + ,'NONE' + ,'LOW' + ,-8 + ,'NONE' + ,'LOW' + ,8 + ,'NONE' + ,'LOW' + ,-6 + ,'NONE' + ,'LOW' + ,6) + ,dim=c(3 + ,97) + ,dimnames=list(c('Inst' + ,'Exp' + ,'R') + ,1:97)) > y <- array(NA,dim=c(3,97),dimnames=list(c('Inst','Exp','R'),1:97)) > 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) > par20 = '' > par19 = '' > par18 = '' > par17 = '' > par16 = '' > par15 = '' > par14 = '' > par13 = '' > par12 = '' > par11 = '' > par10 = '' > par9 = '' > par8 = '' > par7 = '' > par6 = '' > par5 = '' > par4 = 'TRUE' > par3 = '1' > par2 = '2' > par1 = '3' > ylab = '' > xlab = '' > main = '' > #'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] "R" > (V2<-dimnames(y)[[1]][cat2]) [1] "Exp" > (V3 <-dimnames(y)[[1]][cat3]) [1] "Inst" > mynames<- c(V1, V2, V3) > xdf2<-xdf > names(xdf2)<-mynames > names(xdf)<-c('R', 'A', 'B') > mynames <- c(V1, V2, V3) > if(intercept == FALSE)eval (substitute(lmout<-lm(xdf$R ~ xdf$A * xdf$B- 1, data = xdf), list(xdf=quote(xdf2),R=mynames[1],A=mynames[2],B=mynames[3]) ))else eval(substitute(lmout<-lm(xdf$R ~ xdf$A * xdf$B, data = xdf), list(xdf=quote(xdf2),R=mynames[1],A=mynames[2],B=mynames[3]) )) > > oldnames<-names(lmout$coeff) > newnames<-gsub('xdf2\\$', '', oldnames) > (names(lmout$coeff)<-newnames) [1] "(Intercept)" "ExpLOW" "InstNONE" [4] "InstSCIENTIFIC" "ExpLOW:InstNONE" "ExpLOW:InstSCIENTIFIC" > (names(lmout$coefficients)<-newnames) [1] "(Intercept)" "ExpLOW" "InstNONE" [4] "InstSCIENTIFIC" "ExpLOW:InstNONE" "ExpLOW:InstSCIENTIFIC" > > > #Note: the /var/www/html/rcomp/createtable file can be downloaded at http://www.wessa.net/cretab > load(file="/var/www/html/rcomp/createtable") > > a<-table.start() > a<-table.row.start(a) > a<-table.element(a,'ANOVA Model', length(lmout$coefficients)+1,TRUE) > a<-table.row.end(a) > a<-table.row.start(a) > callstr<-gsub('xdf2\\$', '',as.character(lmout$call$formula)) > callstr<-paste(callstr[2], callstr[1], callstr[3]) > a<-table.element(a,callstr ,length(lmout$coefficients)+1,TRUE) > a<-table.row.end(a) > > a<-table.row.start(a) > a<-table.element(a, 'names',,TRUE) > for(i in 1:length(lmout$coefficients)){ + a<-table.element(a, names(lmout$coefficients[i]),,FALSE) + } > a<-table.row.end(a) > > > a<-table.row.start(a) > a<-table.element(a, 'means',,TRUE) > for(i in 1:length(lmout$coefficients)){ + a<-table.element(a, round(lmout$coefficients[i], digits=3),,FALSE) + } > a<-table.row.end(a) > a<-table.end(a) > table.save(a,file="/var/www/html/rcomp/tmp/172rd1283346664.tab") > > (aov.xdf<-aov(lmout) ) Call: aov(formula = lmout) Terms: xdf2$Exp xdf2$Inst xdf2$Exp:xdf2$Inst Residuals Sum of Squares 165.945 295.635 4729.436 14496.242 Deg. of Freedom 1 2 2 91 Residual standard error: 12.62139 Estimated effects may be unbalanced > (anova.xdf<-anova(lmout) ) Analysis of Variance Table Response: xdf2$R Df Sum Sq Mean Sq F value Pr(>F) xdf2$Exp 1 165.9 165.9 1.0417 0.3101 xdf2$Inst 2 295.6 147.8 0.9279 0.3991 xdf2$Exp:xdf2$Inst 2 4729.4 2364.7 14.8445 2.633e-06 *** Residuals 91 14496.2 159.3 --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 > rownames(anova.xdf)<-gsub('xdf2\\$','',rownames(anova.xdf)) > > 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/rcomp/tmp/23u741283346664.tab") > postscript(file="/var/www/html/rcomp/tmp/33u741283346664.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > boxplot(R ~ A + B, data=xdf, xlab=V2, ylab=V1, main='Boxplots of ANOVA Groups',cex.axis=0.7 ) > dev.off() null device 1 > postscript(file="/var/www/html/rcomp/tmp/4w3oo1283346664.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/rcomp/tmp/5w3oo1283346664.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) > interaction.plot(xdf$A, xdf$B, xdf$R, 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/rcomp/tmp/67u6a1283346664.ps",horizontal=F,pagecentre=F,paper="special",width=8.3333333333333,height=5.5555555555556) + #layout(matrix(c(1,2,3,3), 2,2)) + par(mai=c(1,1.5,1,1)) + layout(matrix(c(1,2,1,2,3,3,3,3), 2,4)) + 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/rcomp/tmp/7avmf1283346664.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/rcomp/tmp/8l4m01283346664.tab") + } > library(car) > lt.lmxdf<-levene.test(lmout) > 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/rcomp/tmp/964261283346664.tab") > > try(system("convert tmp/33u741283346664.ps tmp/33u741283346664.png",intern=TRUE)) character(0) > try(system("convert tmp/4w3oo1283346664.ps tmp/4w3oo1283346664.png",intern=TRUE)) character(0) > try(system("convert tmp/5w3oo1283346664.ps tmp/5w3oo1283346664.png",intern=TRUE)) character(0) > try(system("convert tmp/67u6a1283346664.ps tmp/67u6a1283346664.png",intern=TRUE)) character(0) > > > proc.time() user system elapsed 0.935 0.540 1.293