Free Statistics

of Irreproducible Research!

Author's title

Author*Unverified author*
R Software ModuleIan.Hollidayrwasp_Two Factor ANOVA -V2.wasp
Title produced by softwareVariability
Date of computationWed, 02 Jun 2010 10:28:13 +0000
Cite this page as followsStatistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?v=date/2010/Jun/02/t1275475111k3xgcat1x0jodxn.htm/, Retrieved Fri, 26 Apr 2024 04:24:18 +0000
Statistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?pk=77240, Retrieved Fri, 26 Apr 2024 04:24:18 +0000
QR Codes:

Original text written by user:
IsPrivate?No (this computation is public)
User-defined keywords
Estimated Impact136
Family? (F = Feedback message, R = changed R code, M = changed R Module, P = changed Parameters, D = changed Data)
-     [Two-Way ANOVA] [two-way anova wit...] [2010-05-26 17:02:24] [98fd0e87c3eb04e0cc2efde01dbafab6]
- R PD  [Two-Way ANOVA] [ANOVA with good l...] [2010-05-28 23:09:47] [98fd0e87c3eb04e0cc2efde01dbafab6]
- R       [Variability] [ANOVA with better...] [2010-05-29 09:47:12] [98fd0e87c3eb04e0cc2efde01dbafab6]
- R         [Variability] [ANOVA with better...] [2010-05-29 09:54:40] [98fd0e87c3eb04e0cc2efde01dbafab6]
- R P           [Variability] [] [2010-06-02 10:28:13] [1b4f69668b182c4569ded2e7c8a75cc5] [Current]
Feedback Forum

Post a new message
Dataseries X:
'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




Summary of computational transaction
Raw Inputview raw input (R code)
Raw Outputview raw output of R engine
Computing time1 seconds
R Server'Gwilym Jenkins' @ 72.249.127.135

\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 & 'Gwilym Jenkins' @ 72.249.127.135 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=77240&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]'Gwilym Jenkins' @ 72.249.127.135[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=77240&T=0

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=77240&T=0

As an alternative you can also use a QR Code:  

The GUIDs for individual cells are displayed in the table below:

Summary of computational transaction
Raw Inputview raw input (R code)
Raw Outputview raw output of R engine
Computing time1 seconds
R Server'Gwilym Jenkins' @ 72.249.127.135







ANOVA Model
R ~ Exp * Inst - 1
namesExpHIGHExpLOWInstNONEInstSCIENTIFICExpLOW:InstNONEExpLOW:InstSCIENTIFIC
means4.067-18.059-14.067-11.01128.62530.993

\begin{tabular}{lllllllll}
\hline
ANOVA Model \tabularnewline
R ~ Exp * Inst - 1 \tabularnewline
names & ExpHIGH & ExpLOW & InstNONE & InstSCIENTIFIC & ExpLOW:InstNONE & ExpLOW:InstSCIENTIFIC \tabularnewline
means & 4.067 & -18.059 & -14.067 & -11.011 & 28.625 & 30.993 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=77240&T=1

[TABLE]
[ROW][C]ANOVA Model[/C][/ROW]
[ROW][C]R ~ Exp * Inst - 1[/C][/ROW]
[ROW][C]names[/C][C]ExpHIGH[/C][C]ExpLOW[/C][C]InstNONE[/C][C]InstSCIENTIFIC[/C][C]ExpLOW:InstNONE[/C][C]ExpLOW:InstSCIENTIFIC[/C][/ROW]
[ROW][C]means[/C][C]4.067[/C][C]-18.059[/C][C]-14.067[/C][C]-11.011[/C][C]28.625[/C][C]30.993[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=77240&T=1

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=77240&T=1

As an alternative you can also use a QR Code:  

The GUIDs for individual cells are displayed in the table below:

ANOVA Model
R ~ Exp * Inst - 1
namesExpHIGHExpLOWInstNONEInstSCIENTIFICExpLOW:InstNONEExpLOW:InstSCIENTIFIC
means4.067-18.059-14.067-11.01128.62530.993







ANOVA Statistics
DfSum SqMean SqF valuePr(>F)
2
Exp23503.6881751.84410.9970
Inst2295.635147.8170.9280.399
Exp:Inst24729.4362364.71814.8440
Residuals9114496.242159.299

\begin{tabular}{lllllllll}
\hline
ANOVA Statistics \tabularnewline
  & Df & Sum Sq & Mean Sq & F value & Pr(>F) \tabularnewline
 & 2 &  &  &  &  \tabularnewline
Exp & 2 & 3503.688 & 1751.844 & 10.997 & 0 \tabularnewline
Inst & 2 & 295.635 & 147.817 & 0.928 & 0.399 \tabularnewline
Exp:Inst & 2 & 4729.436 & 2364.718 & 14.844 & 0 \tabularnewline
Residuals & 91 & 14496.242 & 159.299 &   &   \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=77240&T=2

[TABLE]
[ROW][C]ANOVA Statistics[/C][/ROW]
[ROW][C] [/C][C]Df[/C][C]Sum Sq[/C][C]Mean Sq[/C][C]F value[/C][C]Pr(>F)[/C][/ROW]
[ROW][C][/C][C]2[/C][C][/C][C][/C][C][/C][C][/C][/ROW]
[ROW][C]Exp[/C][C]2[/C][C]3503.688[/C][C]1751.844[/C][C]10.997[/C][C]0[/C][/ROW]
[ROW][C]Inst[/C][C]2[/C][C]295.635[/C][C]147.817[/C][C]0.928[/C][C]0.399[/C][/ROW]
[ROW][C]Exp:Inst[/C][C]2[/C][C]4729.436[/C][C]2364.718[/C][C]14.844[/C][C]0[/C][/ROW]
[ROW][C]Residuals[/C][C]91[/C][C]14496.242[/C][C]159.299[/C][C] [/C][C] [/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=77240&T=2

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=77240&T=2

As an alternative you can also use a QR Code:  

The GUIDs for individual cells are displayed in the table below:

ANOVA Statistics
DfSum SqMean SqF valuePr(>F)
2
Exp23503.6881751.84410.9970
Inst2295.635147.8170.9280.399
Exp:Inst24729.4362364.71814.8440
Residuals9114496.242159.299







Must Include Intercept to use Tukey Test

\begin{tabular}{lllllllll}
\hline
Must Include Intercept to use Tukey Test  \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=77240&T=3

[TABLE]
[ROW][C]Must Include Intercept to use Tukey Test [/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=77240&T=3

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=77240&T=3

As an alternative you can also use a QR Code:  

The GUIDs for individual cells are displayed in the table below:

Must Include Intercept to use Tukey Test







Levenes Test for Homogeneity of Variance
DfF valuePr(>F)
Group51.7310.135
91

\begin{tabular}{lllllllll}
\hline
Levenes Test for Homogeneity of Variance \tabularnewline
  & Df & F value & Pr(>F) \tabularnewline
Group & 5 & 1.731 & 0.135 \tabularnewline
  & 91 &   &   \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=77240&T=4

[TABLE]
[ROW][C]Levenes Test for Homogeneity of Variance[/C][/ROW]
[ROW][C] [/C][C]Df[/C][C]F value[/C][C]Pr(>F)[/C][/ROW]
[ROW][C]Group[/C][C]5[/C][C]1.731[/C][C]0.135[/C][/ROW]
[ROW][C] [/C][C]91[/C][C] [/C][C] [/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=77240&T=4

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=77240&T=4

As an alternative you can also use a QR Code:  

The GUIDs for individual cells are displayed in the table below:

Levenes Test for Homogeneity of Variance
DfF valuePr(>F)
Group51.7310.135
91



Parameters (Session):
par1 = 10 ;
Parameters (R input):
par1 = 3 ; par2 = 2 ; par3 = 1 ; par4 = FALSE ;
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, round(lmout$coefficients[i], digits=3),,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, 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='mytable1.tab')
bitmap(file='anovaplot.png')
boxplot(R ~ A + B, data=xdf, xlab=V2, ylab=V1, main='Boxplots of ANOVA Groups',cex.axis=0.7 )
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')
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()
}
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='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,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='mytable3.tab')