Free Statistics

of Irreproducible Research!

Author's title

Author*The author of this computation has been verified*
R Software Modulerwasp_Two Factor ANOVA.wasp
Title produced by softwareTwo-Way ANOVA
Date of computationTue, 06 Dec 2011 08:52:03 -0500
Cite this page as followsStatistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?v=date/2011/Dec/06/t13231796858ilulnk3rtn54rl.htm/, Retrieved Mon, 29 Apr 2024 00:34:19 +0000
Statistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?pk=151589, Retrieved Mon, 29 Apr 2024 00:34:19 +0000
QR Codes:

Original text written by user:
IsPrivate?No (this computation is public)
User-defined keywords
Estimated Impact69
Family? (F = Feedback message, R = changed R code, M = changed R Module, P = changed Parameters, D = changed Data)
-       [Two-Way ANOVA] [anova wk9] [2011-12-06 13:52:03] [82be9469d490c0d697bedd7f090b9058] [Current]
Feedback Forum

Post a new message
Dataseries X:
4	'SMK'	'hot'
5	'SMK'	'hot'
3	'SMK'	'hot'
4	'SMK'	'hot'
5	'SMK'	'hot'
3	'SMK'	'hot'
7	'SMK'	'hot'
5	'SMK'	'hot'
6	'SMK'	'hot'
3	'SMK'	'hot'
2	'SMK'	'hot'
4	'SMK'	'hot'
5	'SMK'	'hot'
2	'SMK'	'hot'
3	'SMK'	'hot'
6	'SMK'	'hot'
4	'SMK'	'hot'
4	'SMK'	'hot'
6	'SMK'	'hot'
2	'SMK'	'hot'
3	'SMK'	'mild'
5	'SMK'	'mild'
4	'SMK'	'mild'
2	'SMK'	'mild'
7	'SMK'	'mild'
1	'SMK'	'mild'
4	'SMK'	'mild'
4	'SMK'	'mild'
7	'SMK'	'mild'
4	'SMK'	'mild'
3	'SMK'	'mild'
3	'SMK'	'mild'
3	'SMK'	'mild'
3	'SMK'	'mild'
2	'SMK'	'mild'
5	'SMK'	'mild'
5	'SMK'	'mild'
3	'SMK'	'mild'
6	'SMK'	'mild'
2	'SMK'	'mild'
8	'NS'	'hot'
9	'NS'	'hot'
10	'NS'	'hot'
7	'NS'	'hot'
8	'NS'	'hot'
9	'NS'	'hot'
10	'NS'	'hot'
6	'NS'	'hot'
6	'NS'	'hot'
7	'NS'	'hot'
8	'NS'	'hot'
9	'NS'	'hot'
8	'NS'	'hot'
7	'NS'	'hot'
5	'NS'	'hot'
11	'NS'	'hot'
7	'NS'	'hot'
8	'NS'	'hot'
10	'NS'	'hot'
9	'NS'	'hot'
3	'NS'	'mild'
5	'NS'	'mild'
4	'NS'	'mild'
2	'NS'	'mild'
6	'NS'	'mild'
1	'NS'	'mild'
4	'NS'	'mild'
4	'NS'	'mild'
5	'NS'	'mild'
4	'NS'	'mild'
3	'NS'	'mild'
3	'NS'	'mild'
4	'NS'	'mild'
3	'NS'	'mild'
2	'NS'	'mild'
5	'NS'	'mild'
4	'NS'	'mild'
3	'NS'	'mild'
6	'NS'	'mild'
2	'NS'	'mild'




\begin{tabular}{lllllllll}
\hline
Summary of computational transaction \tabularnewline
Raw Input & view raw input (R code)  \tabularnewline
Raw Output & view raw output of R engine  \tabularnewline
Computing time & 1 seconds \tabularnewline
R Server & 'George Udny Yule' @ yule.wessa.net \tabularnewline
R Framework error message & 
The field 'Names of X columns' contains a hard return which cannot be interpreted.
Please, resubmit your request without hard returns in the 'Names of X columns'.
\tabularnewline R Engine error message &
Error in `contrasts<-`(`*tmp*`, value = "contr.treatment") : 
  contrasts can be applied only to factors with 2 or more levels
Calls: eval ... model.matrix -> model.matrix.default -> contrasts<-
Execution halted
\tabularnewline \hline \end{tabular} %Source: https://freestatistics.org/blog/index.php?pk=151589&T=0

[TABLE]
[ROW][C]Summary of computational transaction[/C][/ROW]
[ROW][C]Raw Input[/C][C]view raw input (R code) [/C][/ROW]
[ROW][C]Raw Output[/C][C]view raw output of R engine [/C][/ROW]
[ROW][C]Computing time[/C][C]1 seconds[/C][/ROW]
[ROW][C]R Server[/C][C]'George Udny Yule' @ yule.wessa.net[/C][/ROW]
[ROW][C]R Framework error message[/C][C]
The field 'Names of X columns' contains a hard return which cannot be interpreted.
Please, resubmit your request without hard returns in the 'Names of X columns'.
[/C][/ROW] [ROW][C]R Engine error message[/C][C]
Error in `contrasts<-`(`*tmp*`, value = "contr.treatment") : 
  contrasts can be applied only to factors with 2 or more levels
Calls: eval ... model.matrix -> model.matrix.default -> contrasts<-
Execution halted
[/C][/ROW] [/TABLE] Source: https://freestatistics.org/blog/index.php?pk=151589&T=0



Parameters (Session):
par1 = 2 ; par2 = 1 ; par3 = 3 ; par4 = TRUE ;
Parameters (R input):
par1 = 2 ; par2 = 1 ; par3 = 3 ; par4 = TRUE ;
R code (references can be found in the software module):
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])
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)
(names(lmout$coefficients)<-newnames)
load(file='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, signif(lmout$coefficients[i], digits=5),,FALSE)
}
a<-table.row.end(a)
a<-table.end(a)
table.save(a,file='mytable.tab')
(aov.xdf<-aov(lmout) )
(anova.xdf<-anova(lmout) )
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, signif(anova.xdf$'Sum Sq'[i], digits=5),,FALSE)
a<-table.element(a, signif(anova.xdf$'Mean Sq'[i], digits=5),,FALSE)
a<-table.element(a, signif(anova.xdf$'F value'[i], digits=5),,FALSE)
a<-table.element(a, signif(anova.xdf$'Pr(>F)'[i], digits=5),,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, signif(anova.xdf$'Sum Sq'[i+1], digits=5),,FALSE)
a<-table.element(a, signif(anova.xdf$'Mean Sq'[i+1], digits=5),,FALSE)
a<-table.element(a, ' ',,FALSE)
a<-table.element(a, ' ',,FALSE)
a<-table.row.end(a)
a<-table.end(a)
table.save(a,file='mytable1.tab')
bitmap(file='anovaplot.png')
boxplot(R ~ A + B, data=xdf, xlab=V2, ylab=V1, main='Boxplots of ANOVA Groups')
dev.off()
bitmap(file='designplot.png')
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()
bitmap(file='interactionplot.png')
interaction.plot(xdf$A, xdf$B, xdf$R, 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=''))
bitmap(file='TukeyHSDPlot.png')
layout(matrix(c(0,0,1,2,1,2,0,0,3,3,3,3), 2,6))
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,signif(thsd[[nt]][i,j], digits=5), 1, FALSE)
}
a<-table.row.end(a)
}
} # end nt
a<-table.end(a)
table.save(a,file='hsdtable.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='mytable2.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,signif(lt.lmxdf[[i]][1], digits=5), 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='mytable3.tab')