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 computationMon, 03 Dec 2012 08:17:37 -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/2012/Dec/03/t1354540737jkb26k43yw4zp5s.htm/, Retrieved Sun, 05 May 2024 02:06:32 +0000
Statistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?pk=195772, Retrieved Sun, 05 May 2024 02:06:32 +0000
QR Codes:

Original text written by user:
IsPrivate?No (this computation is public)
User-defined keywords
Estimated Impact66
Family? (F = Feedback message, R = changed R code, M = changed R Module, P = changed Parameters, D = changed Data)
-       [Two-Way ANOVA] [] [2012-12-03 13:17:37] [d76b387543b13b5e3afd8ff9e5fdc89f] [Current]
Feedback Forum

Post a new message
Dataseries X:
'4W'	1	'PR'	0	0.2
'4W'	0	'C'	0	-0.2
'4W'	0	'C'	0	-0.2
'4W'	0	'C'	0	-0.2
'4W'	0	'C'	0	-0.2
'4W'	1	'C'	0	0.4
'4W'	0	'C'	0	-0.2
'4W'	0	'PR'	0	-0.2
'4W'	0	'C'	0	-0.2
'4W'	1	'C'	0	0.2
'4W'	1	'PR'	0	0.2
'4W'	0	'C'	0	-0.2
'4W'	0	'C'	0	0.2
'4W'	1	'PR'	0	0.2
'4W'	0	'C'	0	0.2
'4W'	0	'PR'	0	0.2
'4W'	1	'PR'	1	1
'4W'	1	'PR'	0	0.2
'4W'	0	'C'	0	-0.2
'4W'	0	'PR'	1	0.6
'4W'	1	'C'	0	0.4
'4W'	1	'C'	0	0.6
'4W'	0	'C'	0	0
'4W'	1	'C'	0	0.4
'4W'	0	'PR'	0	0
'4W'	0	'C'	0	0.2
'4W'	1	'C'	0	0.2
'4W'	0	'C'	0	0
'4W'	0	'C'	0	-0.2
'4W'	0	'C'	0	0
'4W'	0	'C'	0	-0.2
'4W'	1	'C'	0	0.2
'4W'	1	'C'	0	0.4
'4W'	0	'PR'	0	-0.2
'4W'	0	'C'	0	-0.2
'4W'	0	'C'	0	-0.2
'4W'	1	'PR'	0	0.6
'4W'	0	'C'	0	0
'4W'	0	'C'	0	0
'4W'	0	'PR'	0	0
'4W'	0	'C'	1	0.6
'4W'	0	'C'	0	0
'4W'	1	'C'	0	0.4
'4W'	1	'PR'	0	0.2
'4W'	0	'C'	0	0
'4W'	0	'C'	0	0
'4W'	0	'C'	0	-0.2
'4W'	0	'C'	0	-0.2
'4W'	0	'C'	0	0
'4W'	0	'C'	0	-0.2
'4W'	0	'PR'	0	0
'4W'	1	'PR'	1	1
'4W'	0	'C'	0	-0.2
'4W'	0	'C'	1	0.4
'4W'	0	'C'	0	-0.2
'4W'	0	'PR'	0	0
'4W'	0	'C'	0	0.2
'4W'	0	'C'	0	-0.2
'4W'	0	'C'	0	-0.2
'4W'	1	'PR'	1	1
'4W'	1	'PR'	0	0.2
'4W'	0	'C'	0	0.2
'4W'	0	'C'	0	-0.2
'4W'	1	'PR'	0	0.2
'4W'	0	'C'	0	-0.2
'4W'	0	'C'	0	-0.2
'4W'	0	'PR'	1	0.6
'4W'	1	'C'	0	0.2
'4W'	0	'C'	0	-0.2
'4W'	0	'C'	0	0
'4W'	0	'C'	0	-0.2
'4W'	0	'C'	0	-0.2
'4W'	0	'C'	0	0
'4W'	1	'C'	0	0.4
'4W'	0	'C'	0	-0.2
'4W'	0	'PR'	0	0
'4W'	0	'C'	0	-0.2
'4W'	0	'C'	0	0.2
'4W'	0	'PR'	1	0.4
'4W'	0	'PR'	0	0
'4W'	0	'C'	0	-0.2
'4W'	1	'C'	0	0.4
'4W'	0	'C'	0	-0.2
'4W'	0	'C'	1	0.4
'4W'	0	'C'	0	0
'4W'	1	'C'	0	0.2
'2W'	1	'C'	0	0.2
'2W'	1	'PR'	0	0.4
'2W'	0	'C'	0	-0.2
'2W'	0	'C'	0	-0.2
'2W'	0	'C'	0	0
'2W'	1	'PR'	0	0.2
'2W'	1	'C'	0	0.4
'2W'	0	'C'	0	-0.2
'2W'	0	'PR'	0	-0.2
'2W'	0	'C'	0	-0.2
'2W'	1	'PR'	0	0.2
'2W'	0	'C'	0	-0.2
'2W'	1	'C'	0	0.2
'2W'	0	'C'	0	-0.2
'2W'	1	'C'	0	0.2
'2W'	0	'C'	0	-0.2
'2W'	0	'C'	0	-0.2
'2W'	0	'C'	0	-0.2
'2W'	0	'PR'	0	0
'2W'	0	'C'	0	-0.2
'2W'	0	'C'	0	-0.2
'2W'	1	'PR'	0	0.4
'2W'	0	'C'	0	-0.2
'2W'	1	'C'	0	0.2
'2W'	1	'PR'	0	0.6
'2W'	0	'PR'	0	-0.2
'2W'	0	'C'	0	0
'2W'	1	'PR'	0	0.4
'2W'	1	'C'	0	0.2
'2W'	0	'C'	0	-0.2
'2W'	1	'C'	0	0.2
'2W'	1	'C'	0	0.2
'2W'	0	'C'	0	-0.2
'2W'	0	'C'	0	-0.2
'2W'	1	'C'	0	0.2
'2W'	0	'C'	0	-0.2
'2W'	1	'PR'	0	0.4
'2W'	0	'C'	0	0.2
'2W'	0	'C'	0	-0.2
'2W'	0	'PR'	0	-0.2
'2W'	0	'C'	0	0
'2W'	0	'C'	0	-0.2
'2W'	0	'C'	0	-0.2
'2W'	0	'C'	0	-0.2
'2W'	1	'C'	0	0.2
'2W'	1	'C'	0	0.2
'2W'	1	'C'	0	0.4
'2W'	0	'C'	0	-0.2
'2W'	0	'C'	0	-0.2
'2W'	0	'C'	0	-0.2
'2W'	1	'C'	0	0.6
'2W'	1	'PR'	0	0.6
'2W'	0	'PR'	0	-0.2
'2W'	0	'C'	0	-0.2
'2W'	0	'C'	1	0.4
'2W'	0	'PR'	0	0
'2W'	1	'C'	0	0.2
'2W'	0	'C'	0	0
'2W'	0	'C'	0	0
'2W'	0	'PR'	0	-0.2
'2W'	0	'PR'	0	0
'2W'	0	'PR'	0	-0.2
'2W'	1	'C'	0	0.2
'2W'	0	'C'	0	0
'2W'	0	'C'	0	-0.2
'2W'	1	'C'	1	0.8
'2W'	1	'C'	1	1
'2W'	1	'C'	0	0.4




Summary of computational transaction
Raw Inputview raw input (R code)
Raw Outputview raw output of R engine
Computing time3 seconds
R Server'Gertrude Mary Cox' @ cox.wessa.net

\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 & 3 seconds \tabularnewline
R Server & 'Gertrude Mary Cox' @ cox.wessa.net \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=195772&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]3 seconds[/C][/ROW]
[ROW][C]R Server[/C][C]'Gertrude Mary Cox' @ cox.wessa.net[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=195772&T=0

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=195772&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 time3 seconds
R Server'Gertrude Mary Cox' @ cox.wessa.net







ANOVA Model
Response ~ Treatment_A * Treatment_B
means0.031-0.0120.0860.173

\begin{tabular}{lllllllll}
\hline
ANOVA Model \tabularnewline
Response ~ Treatment_A * Treatment_B \tabularnewline
means & 0.031 & -0.012 & 0.086 & 0.173 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=195772&T=1

[TABLE]
[ROW][C]ANOVA Model[/C][/ROW]
[ROW][C]Response ~ Treatment_A * Treatment_B[/C][/ROW]
[ROW][C]means[/C][C]0.031[/C][C]-0.012[/C][C]0.086[/C][C]0.173[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=195772&T=1

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=195772&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
Response ~ Treatment_A * Treatment_B
means0.031-0.0120.0860.173







ANOVA Statistics
DfSum SqMean SqF valuePr(>F)
1
Treatment_A10.0480.0480.5880.444
Treatment_B11.011.0112.4680.001
Treatment_A:Treatment_B10.2170.2172.680.104
Residuals15012.1510.081

\begin{tabular}{lllllllll}
\hline
ANOVA Statistics \tabularnewline
  & Df & Sum Sq & Mean Sq & F value & Pr(>F) \tabularnewline
 & 1 &  &  &  &  \tabularnewline
Treatment_A & 1 & 0.048 & 0.048 & 0.588 & 0.444 \tabularnewline
Treatment_B & 1 & 1.01 & 1.01 & 12.468 & 0.001 \tabularnewline
Treatment_A:Treatment_B & 1 & 0.217 & 0.217 & 2.68 & 0.104 \tabularnewline
Residuals & 150 & 12.151 & 0.081 &   &   \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=195772&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]1[/C][C][/C][C][/C][C][/C][C][/C][/ROW]
[ROW][C]Treatment_A[/C][C]1[/C][C]0.048[/C][C]0.048[/C][C]0.588[/C][C]0.444[/C][/ROW]
[ROW][C]Treatment_B[/C][C]1[/C][C]1.01[/C][C]1.01[/C][C]12.468[/C][C]0.001[/C][/ROW]
[ROW][C]Treatment_A:Treatment_B[/C][C]1[/C][C]0.217[/C][C]0.217[/C][C]2.68[/C][C]0.104[/C][/ROW]
[ROW][C]Residuals[/C][C]150[/C][C]12.151[/C][C]0.081[/C][C] [/C][C] [/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=195772&T=2

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=195772&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)
1
Treatment_A10.0480.0480.5880.444
Treatment_B11.011.0112.4680.001
Treatment_A:Treatment_B10.2170.2172.680.104
Residuals15012.1510.081







Tukey Honest Significant Difference Comparisons
difflwruprp adj
4W-2W0.035-0.0560.1270.444
PR-C0.1850.0810.2880.001
4W:C-2W:C-0.012-0.1520.1270.996
2W:PR-2W:C0.086-0.1210.2930.701
4W:PR-2W:C0.2470.0610.4330.004
2W:PR-4W:C0.099-0.1030.3010.585
4W:PR-4W:C0.2590.0790.4390.001
4W:PR-2W:PR0.161-0.0760.3970.295

\begin{tabular}{lllllllll}
\hline
Tukey Honest Significant Difference Comparisons \tabularnewline
  & diff & lwr & upr & p adj \tabularnewline
4W-2W & 0.035 & -0.056 & 0.127 & 0.444 \tabularnewline
PR-C & 0.185 & 0.081 & 0.288 & 0.001 \tabularnewline
4W:C-2W:C & -0.012 & -0.152 & 0.127 & 0.996 \tabularnewline
2W:PR-2W:C & 0.086 & -0.121 & 0.293 & 0.701 \tabularnewline
4W:PR-2W:C & 0.247 & 0.061 & 0.433 & 0.004 \tabularnewline
2W:PR-4W:C & 0.099 & -0.103 & 0.301 & 0.585 \tabularnewline
4W:PR-4W:C & 0.259 & 0.079 & 0.439 & 0.001 \tabularnewline
4W:PR-2W:PR & 0.161 & -0.076 & 0.397 & 0.295 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=195772&T=3

[TABLE]
[ROW][C]Tukey Honest Significant Difference Comparisons[/C][/ROW]
[ROW][C] [/C][C]diff[/C][C]lwr[/C][C]upr[/C][C]p adj[/C][/ROW]
[ROW][C]4W-2W[/C][C]0.035[/C][C]-0.056[/C][C]0.127[/C][C]0.444[/C][/ROW]
[ROW][C]PR-C[/C][C]0.185[/C][C]0.081[/C][C]0.288[/C][C]0.001[/C][/ROW]
[ROW][C]4W:C-2W:C[/C][C]-0.012[/C][C]-0.152[/C][C]0.127[/C][C]0.996[/C][/ROW]
[ROW][C]2W:PR-2W:C[/C][C]0.086[/C][C]-0.121[/C][C]0.293[/C][C]0.701[/C][/ROW]
[ROW][C]4W:PR-2W:C[/C][C]0.247[/C][C]0.061[/C][C]0.433[/C][C]0.004[/C][/ROW]
[ROW][C]2W:PR-4W:C[/C][C]0.099[/C][C]-0.103[/C][C]0.301[/C][C]0.585[/C][/ROW]
[ROW][C]4W:PR-4W:C[/C][C]0.259[/C][C]0.079[/C][C]0.439[/C][C]0.001[/C][/ROW]
[ROW][C]4W:PR-2W:PR[/C][C]0.161[/C][C]-0.076[/C][C]0.397[/C][C]0.295[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=195772&T=3

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

As an alternative you can also use a QR Code:  

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

Tukey Honest Significant Difference Comparisons
difflwruprp adj
4W-2W0.035-0.0560.1270.444
PR-C0.1850.0810.2880.001
4W:C-2W:C-0.012-0.1520.1270.996
2W:PR-2W:C0.086-0.1210.2930.701
4W:PR-2W:C0.2470.0610.4330.004
2W:PR-4W:C0.099-0.1030.3010.585
4W:PR-4W:C0.2590.0790.4390.001
4W:PR-2W:PR0.161-0.0760.3970.295







Levenes Test for Homogeneity of Variance
DfF valuePr(>F)
Group30.7010.553
150

\begin{tabular}{lllllllll}
\hline
Levenes Test for Homogeneity of Variance \tabularnewline
  & Df & F value & Pr(>F) \tabularnewline
Group & 3 & 0.701 & 0.553 \tabularnewline
  & 150 &   &   \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=195772&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]3[/C][C]0.701[/C][C]0.553[/C][/ROW]
[ROW][C] [/C][C]150[/C][C] [/C][C] [/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=195772&T=4

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=195772&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)
Group30.7010.553
150



Parameters (Session):
par1 = 5 ; par2 = 1 ; par3 = 3 ; par4 = TRUE ;
Parameters (R input):
par1 = 5 ; par2 = 1 ; par3 = 3 ; par4 = TRUE ;
R code (references can be found in the software module):
par4 <- 'TRUE'
par3 <- '3'
par2 <- '1'
par1 <- '4'
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])
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) )
(aov.xdf<-aov(lmxdf) )
(anova.xdf<-anova(lmxdf) )
load(file='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='mytable.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='mytable1.tab')
bitmap(file='anovaplot.png')
boxplot(Response ~ Treatment_A + Treatment_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$Treatment_A, xdf$Treatment_B, xdf$Response, 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(1,2,3,3), 2,2))
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(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='mytable3.tab')