Free Statistics

of Irreproducible Research!

Author's title

Author*The author of this computation has been verified*
R Software Modulerwasp_twosampletests_mean.wasp
Title produced by softwarePaired and Unpaired Two Samples Tests about the Mean
Date of computationWed, 10 Dec 2014 12:42:58 +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/2014/Dec/10/t14182160009auc6isehaojqaz.htm/, Retrieved Sun, 19 May 2024 15:52:22 +0000
Statistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?pk=265056, Retrieved Sun, 19 May 2024 15:52:22 +0000
QR Codes:

Original text written by user:
IsPrivate?No (this computation is public)
User-defined keywords
Estimated Impact79
Family? (F = Feedback message, R = changed R code, M = changed R Module, P = changed Parameters, D = changed Data)
-       [Paired and Unpaired Two Samples Tests about the Mean] [] [2014-12-10 12:42:58] [4cfc068a520cd237806cfcade835365e] [Current]
Feedback Forum

Post a new message
Dataseries X:
NA	19
NA	22
NA	21
NA	20
NA	22
NA	16
NA	20
NA	18
NA	13
NA	19
NA	22
NA	18
NA	21
NA	15
NA	23
NA	20
NA	24
NA	26
NA	25
NA	19
NA	24
NA	22
NA	27
NA	26
NA	23
NA	18
NA	21
NA	19
NA	22
NA	24
NA	23
NA	19
NA	22
NA	19
NA	13
NA	26
NA	21
NA	25
NA	24
NA	17
NA	19
NA	14
NA	17
NA	18
NA	22
NA	21
NA	18
NA	23
NA	19
NA	23
NA	23
NA	20
NA	24
NA	20
NA	21
NA	26
NA	17
NA	13
NA	23
NA	18
NA	21
NA	21
NA	22
NA	15
NA	25
NA	23
NA	23
NA	23
NA	15
NA	23
NA	19
NA	23
NA	23
NA	16
NA	19
NA	26
NA	22
NA	24
NA	21
NA	18
NA	27
NA	14
NA	26
NA	20
NA	19
NA	26
NA	20
27	NA
22	NA
6	NA
22	NA
10	NA
20	NA
27	NA
13	NA
20	NA
19	NA
24	NA
19	NA
20	NA
16	NA
17	NA
25	NA
16	NA
22	NA
15	NA
16	NA
23	NA
14	NA
22	NA
25	NA
19	NA
19	NA
24	NA
17	NA
20	NA
24	NA
25	NA
20	NA
20	NA
11	NA
23	NA
20	NA
23	NA
19	NA
27	NA
26	NA
20	NA
20	NA
24	NA
23	NA
18	NA
25	NA
19	NA
20	NA
19	NA
25	NA
20	NA
24	NA
21	NA
22	NA
22	NA
21	NA
19	NA
13	NA
17	NA
18	NA
20	NA
18	NA
15	NA
17	NA
21	NA
23	NA
18	NA
20	NA
22	NA
20	NA
24	NA
23	NA
22	NA
21	NA
23	NA
20	NA
23	NA
25	NA
18	NA
15	NA
27	NA
26	NA
19	NA
25	NA
20	NA
13	NA
20	NA
20	NA
19	NA
26	NA
26	NA
23	NA
16	NA
26	NA
12	NA
18	NA
28	NA
24	NA
24	NA
12	NA
16	NA
18	NA
7	NA
17	NA
10	NA
23	NA
23	NA
23	NA
17	NA
22	NA
14	NA
19	NA
21	NA
24	NA
11	NA
21	NA
22	NA
19	NA
15	NA
20	NA
20	NA
18	NA
20	NA
21	NA




Summary of computational transaction
Raw Inputview raw input (R code)
Raw Outputview raw output of R engine
Computing time1 seconds
R Server'Gwilym Jenkins' @ jenkins.wessa.net
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'.

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

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=265056&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' @ jenkins.wessa.net
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'.







Two Sample t-test (unpaired)
Mean of Sample 120
Mean of Sample 220.816091954023
t-stat-1.47232008869838
df209
p-value0.142438725193529
H0 value0
Alternativetwo.sided
CI Level0.95
CI[-1.90880740988382,0.27662350183785]
F-test to compare two variances
F-stat1.55778583643619
df123
p-value0.0295752993463552
H0 value1
Alternativetwo.sided
CI Level0.95
CI[1.04552756509022,2.28932192084112]

\begin{tabular}{lllllllll}
\hline
Two Sample t-test (unpaired) \tabularnewline
Mean of Sample 1 & 20 \tabularnewline
Mean of Sample 2 & 20.816091954023 \tabularnewline
t-stat & -1.47232008869838 \tabularnewline
df & 209 \tabularnewline
p-value & 0.142438725193529 \tabularnewline
H0 value & 0 \tabularnewline
Alternative & two.sided \tabularnewline
CI Level & 0.95 \tabularnewline
CI & [-1.90880740988382,0.27662350183785] \tabularnewline
F-test to compare two variances \tabularnewline
F-stat & 1.55778583643619 \tabularnewline
df & 123 \tabularnewline
p-value & 0.0295752993463552 \tabularnewline
H0 value & 1 \tabularnewline
Alternative & two.sided \tabularnewline
CI Level & 0.95 \tabularnewline
CI & [1.04552756509022,2.28932192084112] \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=265056&T=1

[TABLE]
[ROW][C]Two Sample t-test (unpaired)[/C][/ROW]
[ROW][C]Mean of Sample 1[/C][C]20[/C][/ROW]
[ROW][C]Mean of Sample 2[/C][C]20.816091954023[/C][/ROW]
[ROW][C]t-stat[/C][C]-1.47232008869838[/C][/ROW]
[ROW][C]df[/C][C]209[/C][/ROW]
[ROW][C]p-value[/C][C]0.142438725193529[/C][/ROW]
[ROW][C]H0 value[/C][C]0[/C][/ROW]
[ROW][C]Alternative[/C][C]two.sided[/C][/ROW]
[ROW][C]CI Level[/C][C]0.95[/C][/ROW]
[ROW][C]CI[/C][C][-1.90880740988382,0.27662350183785][/C][/ROW]
[ROW][C]F-test to compare two variances[/C][/ROW]
[ROW][C]F-stat[/C][C]1.55778583643619[/C][/ROW]
[ROW][C]df[/C][C]123[/C][/ROW]
[ROW][C]p-value[/C][C]0.0295752993463552[/C][/ROW]
[ROW][C]H0 value[/C][C]1[/C][/ROW]
[ROW][C]Alternative[/C][C]two.sided[/C][/ROW]
[ROW][C]CI Level[/C][C]0.95[/C][/ROW]
[ROW][C]CI[/C][C][1.04552756509022,2.28932192084112][/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=265056&T=1

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

As an alternative you can also use a QR Code:  

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

Two Sample t-test (unpaired)
Mean of Sample 120
Mean of Sample 220.816091954023
t-stat-1.47232008869838
df209
p-value0.142438725193529
H0 value0
Alternativetwo.sided
CI Level0.95
CI[-1.90880740988382,0.27662350183785]
F-test to compare two variances
F-stat1.55778583643619
df123
p-value0.0295752993463552
H0 value1
Alternativetwo.sided
CI Level0.95
CI[1.04552756509022,2.28932192084112]







Welch Two Sample t-test (unpaired)
Mean of Sample 120
Mean of Sample 220.816091954023
t-stat-1.53001068014758
df205.273016614696
p-value0.127553643952304
H0 value0
Alternativetwo.sided
CI Level0.95
CI[-1.86771666879437,0.235532760748401]

\begin{tabular}{lllllllll}
\hline
Welch Two Sample t-test (unpaired) \tabularnewline
Mean of Sample 1 & 20 \tabularnewline
Mean of Sample 2 & 20.816091954023 \tabularnewline
t-stat & -1.53001068014758 \tabularnewline
df & 205.273016614696 \tabularnewline
p-value & 0.127553643952304 \tabularnewline
H0 value & 0 \tabularnewline
Alternative & two.sided \tabularnewline
CI Level & 0.95 \tabularnewline
CI & [-1.86771666879437,0.235532760748401] \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=265056&T=2

[TABLE]
[ROW][C]Welch Two Sample t-test (unpaired)[/C][/ROW]
[ROW][C]Mean of Sample 1[/C][C]20[/C][/ROW]
[ROW][C]Mean of Sample 2[/C][C]20.816091954023[/C][/ROW]
[ROW][C]t-stat[/C][C]-1.53001068014758[/C][/ROW]
[ROW][C]df[/C][C]205.273016614696[/C][/ROW]
[ROW][C]p-value[/C][C]0.127553643952304[/C][/ROW]
[ROW][C]H0 value[/C][C]0[/C][/ROW]
[ROW][C]Alternative[/C][C]two.sided[/C][/ROW]
[ROW][C]CI Level[/C][C]0.95[/C][/ROW]
[ROW][C]CI[/C][C][-1.86771666879437,0.235532760748401][/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=265056&T=2

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

As an alternative you can also use a QR Code:  

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

Welch Two Sample t-test (unpaired)
Mean of Sample 120
Mean of Sample 220.816091954023
t-stat-1.53001068014758
df205.273016614696
p-value0.127553643952304
H0 value0
Alternativetwo.sided
CI Level0.95
CI[-1.86771666879437,0.235532760748401]







Wicoxon rank sum test with continuity correction (unpaired)
W4899.5
p-value0.255990081348113
H0 value0
Alternativetwo.sided
Kolmogorov-Smirnov Test to compare Distributions of two Samples
KS Statistic0.119670003707823
p-value0.456722646068049
Kolmogorov-Smirnov Test to compare Distributional Shape of two Samples
KS Statistic0.119670003707823
p-value0.456722646068049

\begin{tabular}{lllllllll}
\hline
Wicoxon rank sum test with continuity correction (unpaired) \tabularnewline
W & 4899.5 \tabularnewline
p-value & 0.255990081348113 \tabularnewline
H0 value & 0 \tabularnewline
Alternative & two.sided \tabularnewline
Kolmogorov-Smirnov Test to compare Distributions of two Samples \tabularnewline
KS Statistic & 0.119670003707823 \tabularnewline
p-value & 0.456722646068049 \tabularnewline
Kolmogorov-Smirnov Test to compare Distributional Shape of two Samples \tabularnewline
KS Statistic & 0.119670003707823 \tabularnewline
p-value & 0.456722646068049 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=265056&T=3

[TABLE]
[ROW][C]Wicoxon rank sum test with continuity correction (unpaired)[/C][/ROW]
[ROW][C]W[/C][C]4899.5[/C][/ROW]
[ROW][C]p-value[/C][C]0.255990081348113[/C][/ROW]
[ROW][C]H0 value[/C][C]0[/C][/ROW]
[ROW][C]Alternative[/C][C]two.sided[/C][/ROW]
[ROW][C]Kolmogorov-Smirnov Test to compare Distributions of two Samples[/C][/ROW]
[ROW][C]KS Statistic[/C][C]0.119670003707823[/C][/ROW]
[ROW][C]p-value[/C][C]0.456722646068049[/C][/ROW]
[ROW][C]Kolmogorov-Smirnov Test to compare Distributional Shape of two Samples[/C][/ROW]
[ROW][C]KS Statistic[/C][C]0.119670003707823[/C][/ROW]
[ROW][C]p-value[/C][C]0.456722646068049[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=265056&T=3

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

As an alternative you can also use a QR Code:  

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

Wicoxon rank sum test with continuity correction (unpaired)
W4899.5
p-value0.255990081348113
H0 value0
Alternativetwo.sided
Kolmogorov-Smirnov Test to compare Distributions of two Samples
KS Statistic0.119670003707823
p-value0.456722646068049
Kolmogorov-Smirnov Test to compare Distributional Shape of two Samples
KS Statistic0.119670003707823
p-value0.456722646068049



Parameters (Session):
par1 = 1 ; par2 = 2 ; par3 = 0.95 ; par4 = two.sided ; par5 = unpaired ; par6 = 0.0 ;
Parameters (R input):
par1 = 1 ; par2 = 2 ; par3 = 0.95 ; par4 = two.sided ; par5 = unpaired ; par6 = 0.0 ;
R code (references can be found in the software module):
par1 <- as.numeric(par1) #column number of first sample
par2 <- as.numeric(par2) #column number of second sample
par3 <- as.numeric(par3) #confidence (= 1 - alpha)
if (par5 == 'unpaired') paired <- FALSE else paired <- TRUE
par6 <- as.numeric(par6) #H0
z <- t(y)
if (par1 == par2) stop('Please, select two different column numbers')
if (par1 < 1) stop('Please, select a column number greater than zero for the first sample')
if (par2 < 1) stop('Please, select a column number greater than zero for the second sample')
if (par1 > length(z[1,])) stop('The column number for the first sample should be smaller')
if (par2 > length(z[1,])) stop('The column number for the second sample should be smaller')
if (par3 <= 0) stop('The confidence level should be larger than zero')
if (par3 >= 1) stop('The confidence level should be smaller than zero')
(r.t <- t.test(z[,par1],z[,par2],var.equal=TRUE,alternative=par4,paired=paired,mu=par6,conf.level=par3))
(v.t <- var.test(z[,par1],z[,par2],conf.level=par3))
(r.w <- t.test(z[,par1],z[,par2],var.equal=FALSE,alternative=par4,paired=paired,mu=par6,conf.level=par3))
(w.t <- wilcox.test(z[,par1],z[,par2],alternative=par4,paired=paired,mu=par6,conf.level=par3))
(ks.t <- ks.test(z[,par1],z[,par2],alternative=par4))
m1 <- mean(z[,par1],na.rm=T)
m2 <- mean(z[,par2],na.rm=T)
mdiff <- m1 - m2
newsam1 <- z[!is.na(z[,par1]),par1]
newsam2 <- z[,par2]+mdiff
newsam2 <- newsam2[!is.na(newsam2)]
(ks1.t <- ks.test(newsam1,newsam2,alternative=par4))
mydf <- data.frame(cbind(z[,par1],z[,par2]))
colnames(mydf) <- c('Variable 1','Variable 2')
bitmap(file='test1.png')
boxplot(mydf, notch=TRUE, ylab='value',main=main)
dev.off()
bitmap(file='test2.png')
qqnorm(z[,par1],main='Normal QQplot - Variable 1')
qqline(z[,par1])
dev.off()
bitmap(file='test3.png')
qqnorm(z[,par2],main='Normal QQplot - Variable 2')
qqline(z[,par2])
dev.off()
load(file='createtable')
a<-table.start()
a<-table.row.start(a)
a<-table.element(a,paste('Two Sample t-test (',par5,')',sep=''),2,TRUE)
a<-table.row.end(a)
if(!paired){
a<-table.row.start(a)
a<-table.element(a,'Mean of Sample 1',header=TRUE)
a<-table.element(a,r.t$estimate[[1]])
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Mean of Sample 2',header=TRUE)
a<-table.element(a,r.t$estimate[[2]])
a<-table.row.end(a)
} else {
a<-table.row.start(a)
a<-table.element(a,'Difference: Mean1 - Mean2',header=TRUE)
a<-table.element(a,r.t$estimate)
a<-table.row.end(a)
}
a<-table.row.start(a)
a<-table.element(a,'t-stat',header=TRUE)
a<-table.element(a,r.t$statistic[[1]])
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'df',header=TRUE)
a<-table.element(a,r.t$parameter[[1]])
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'p-value',header=TRUE)
a<-table.element(a,r.t$p.value)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'H0 value',header=TRUE)
a<-table.element(a,r.t$null.value[[1]])
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Alternative',header=TRUE)
a<-table.element(a,r.t$alternative)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'CI Level',header=TRUE)
a<-table.element(a,attr(r.t$conf.int,'conf.level'))
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'CI',header=TRUE)
a<-table.element(a,paste('[',r.t$conf.int[1],',',r.t$conf.int[2],']',sep=''))
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'F-test to compare two variances',2,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'F-stat',header=TRUE)
a<-table.element(a,v.t$statistic[[1]])
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'df',header=TRUE)
a<-table.element(a,v.t$parameter[[1]])
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'p-value',header=TRUE)
a<-table.element(a,v.t$p.value)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'H0 value',header=TRUE)
a<-table.element(a,v.t$null.value[[1]])
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Alternative',header=TRUE)
a<-table.element(a,v.t$alternative)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'CI Level',header=TRUE)
a<-table.element(a,attr(v.t$conf.int,'conf.level'))
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'CI',header=TRUE)
a<-table.element(a,paste('[',v.t$conf.int[1],',',v.t$conf.int[2],']',sep=''))
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,paste('Welch Two Sample t-test (',par5,')',sep=''),2,TRUE)
a<-table.row.end(a)
if(!paired){
a<-table.row.start(a)
a<-table.element(a,'Mean of Sample 1',header=TRUE)
a<-table.element(a,r.w$estimate[[1]])
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Mean of Sample 2',header=TRUE)
a<-table.element(a,r.w$estimate[[2]])
a<-table.row.end(a)
} else {
a<-table.row.start(a)
a<-table.element(a,'Difference: Mean1 - Mean2',header=TRUE)
a<-table.element(a,r.w$estimate)
a<-table.row.end(a)
}
a<-table.row.start(a)
a<-table.element(a,'t-stat',header=TRUE)
a<-table.element(a,r.w$statistic[[1]])
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'df',header=TRUE)
a<-table.element(a,r.w$parameter[[1]])
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'p-value',header=TRUE)
a<-table.element(a,r.w$p.value)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'H0 value',header=TRUE)
a<-table.element(a,r.w$null.value[[1]])
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Alternative',header=TRUE)
a<-table.element(a,r.w$alternative)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'CI Level',header=TRUE)
a<-table.element(a,attr(r.w$conf.int,'conf.level'))
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'CI',header=TRUE)
a<-table.element(a,paste('[',r.w$conf.int[1],',',r.w$conf.int[2],']',sep=''))
a<-table.row.end(a)
a<-table.end(a)
table.save(a,file='mytable1.tab')
a<-table.start()
a<-table.row.start(a)
a<-table.element(a,paste('Wicoxon rank sum test with continuity correction (',par5,')',sep=''),2,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'W',header=TRUE)
a<-table.element(a,w.t$statistic[[1]])
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'p-value',header=TRUE)
a<-table.element(a,w.t$p.value)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'H0 value',header=TRUE)
a<-table.element(a,w.t$null.value[[1]])
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Alternative',header=TRUE)
a<-table.element(a,w.t$alternative)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Kolmogorov-Smirnov Test to compare Distributions of two Samples',2,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'KS Statistic',header=TRUE)
a<-table.element(a,ks.t$statistic[[1]])
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'p-value',header=TRUE)
a<-table.element(a,ks.t$p.value)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Kolmogorov-Smirnov Test to compare Distributional Shape of two Samples',2,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'KS Statistic',header=TRUE)
a<-table.element(a,ks1.t$statistic[[1]])
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'p-value',header=TRUE)
a<-table.element(a,ks1.t$p.value)
a<-table.row.end(a)
a<-table.end(a)
table.save(a,file='mytable2.tab')