Free Statistics

of Irreproducible Research!

Author's title

Author*The author of this computation has been verified*
R Software Modulerwasp_samplenorm.wasp
Title produced by softwareMinimum Sample Size - Testing Mean
Date of computationMon, 25 Oct 2010 17:57:41 +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/Oct/25/t1288029461ykuii9zah5rdzem.htm/, Retrieved Sat, 27 Apr 2024 06:35:12 +0000
Statistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?pk=88277, Retrieved Sat, 27 Apr 2024 06:35:12 +0000
QR Codes:

Original text written by user:
IsPrivate?No (this computation is public)
User-defined keywords
Estimated Impact226
Family? (F = Feedback message, R = changed R code, M = changed R Module, P = changed Parameters, D = changed Data)
-       [Minimum Sample Size - Testing Mean] [Taak 11: minimal ...] [2010-10-25 17:57:41] [e665313c9926a9f4bdf6ad1ee5aefad6] [Current]
- RMP     [Testing Mean with known Variance - Sample Size] [Taak 9: minimal s...] [2010-10-25 18:09:04] [74deae64b71f9d77c839af86f7c687b5]
-   P       [Testing Mean with known Variance - Sample Size] [Taak 10: minimal ...] [2010-10-25 18:22:56] [74deae64b71f9d77c839af86f7c687b5]
F           [Testing Mean with known Variance - Sample Size] [Ws 4 - Q9] [2010-10-25 21:35:20] [603e2f5305d3a2a4e062624458fa1155]
F   P       [Testing Mean with known Variance - Sample Size] [Ws 4 - Q10] [2010-10-25 21:36:40] [603e2f5305d3a2a4e062624458fa1155]
- RMP     [Testing Variance - Critical Value (Region)] [Vraag 8: test the...] [2010-10-25 19:06:19] [74deae64b71f9d77c839af86f7c687b5]
-   P       [Testing Variance - Critical Value (Region)] [Taak 8: null hypo...] [2010-10-25 19:15:48] [74deae64b71f9d77c839af86f7c687b5]
F           [Testing Variance - Critical Value (Region)] [Ws 4 - Q8 - Males] [2010-10-25 21:29:25] [603e2f5305d3a2a4e062624458fa1155]
F   P       [Testing Variance - Critical Value (Region)] [Ws 4 - Q8 - Females] [2010-10-25 21:31:33] [603e2f5305d3a2a4e062624458fa1155]
- RMP     [Testing Variance - Critical Value (Region)] [] [2010-10-25 19:30:55] [504b6ff240ec7a3fcbc007044ae7a0bb]
-           [Testing Variance - Critical Value (Region)] [] [2010-10-25 19:40:48] [504b6ff240ec7a3fcbc007044ae7a0bb]
-   P         [Testing Variance - Critical Value (Region)] [Question 8 Women] [2010-10-26 20:32:33] [ff7c1e95cf99a1dae07ec89975494dde]
-   P         [Testing Variance - Critical Value (Region)] [] [2011-11-27 16:12:54] [3931071255a6f7f4a767409781cc5f7d]
-   P       [Testing Variance - Critical Value (Region)] [] [2011-11-27 16:11:57] [3931071255a6f7f4a767409781cc5f7d]
Feedback Forum

Post a new message




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=88277&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=88277&T=0

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







Minimum Sample Size
Population Size105
Margin of Error0.01
Confidence0.99
Power0.05
Population Variance13
z(alpha/2) + z(beta)4.22068293050037
z(alpha) + z(beta)3.97120150099231
Minimum Sample Size (2 sided test)104.995284862876
Minimum Sample Size (1 sided test)104.994673849821

\begin{tabular}{lllllllll}
\hline
Minimum Sample Size \tabularnewline
Population Size & 105 \tabularnewline
Margin of Error & 0.01 \tabularnewline
Confidence & 0.99 \tabularnewline
Power & 0.05 \tabularnewline
Population Variance & 13 \tabularnewline
z(alpha/2) + z(beta) & 4.22068293050037 \tabularnewline
z(alpha) + z(beta) & 3.97120150099231 \tabularnewline
Minimum Sample Size (2 sided test) & 104.995284862876 \tabularnewline
Minimum Sample Size (1 sided test) & 104.994673849821 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=88277&T=1

[TABLE]
[ROW][C]Minimum Sample Size[/C][/ROW]
[ROW][C]Population Size[/C][C]105[/C][/ROW]
[ROW][C]Margin of Error[/C][C]0.01[/C][/ROW]
[ROW][C]Confidence[/C][C]0.99[/C][/ROW]
[ROW][C]Power[/C][C]0.05[/C][/ROW]
[ROW][C]Population Variance[/C][C]13[/C][/ROW]
[ROW][C]z(alpha/2) + z(beta)[/C][C]4.22068293050037[/C][/ROW]
[ROW][C]z(alpha) + z(beta)[/C][C]3.97120150099231[/C][/ROW]
[ROW][C]Minimum Sample Size (2 sided test)[/C][C]104.995284862876[/C][/ROW]
[ROW][C]Minimum Sample Size (1 sided test)[/C][C]104.994673849821[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=88277&T=1

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

As an alternative you can also use a QR Code:  

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

Minimum Sample Size
Population Size105
Margin of Error0.01
Confidence0.99
Power0.05
Population Variance13
z(alpha/2) + z(beta)4.22068293050037
z(alpha) + z(beta)3.97120150099231
Minimum Sample Size (2 sided test)104.995284862876
Minimum Sample Size (1 sided test)104.994673849821







Minimum Sample Size (for Infinite Populations)
Population Sizeinfinite
Margin of Error0.01
Confidence0.99
Power0.05
Population Variance13
z(alpha/2) + z(beta)4.22068293050037
z(alpha) + z(beta)3.97120150099231
Minimum Sample Size (2 sided test)2315841.37197624
Minimum Sample Size (1 sided test)2050157.37699287

\begin{tabular}{lllllllll}
\hline
Minimum Sample Size (for Infinite Populations) \tabularnewline
Population Size & infinite \tabularnewline
Margin of Error & 0.01 \tabularnewline
Confidence & 0.99 \tabularnewline
Power & 0.05 \tabularnewline
Population Variance & 13 \tabularnewline
z(alpha/2) + z(beta) & 4.22068293050037 \tabularnewline
z(alpha) + z(beta) & 3.97120150099231 \tabularnewline
Minimum Sample Size (2 sided test) & 2315841.37197624 \tabularnewline
Minimum Sample Size (1 sided test) & 2050157.37699287 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=88277&T=2

[TABLE]
[ROW][C]Minimum Sample Size (for Infinite Populations)[/C][/ROW]
[ROW][C]Population Size[/C][C]infinite[/C][/ROW]
[ROW][C]Margin of Error[/C][C]0.01[/C][/ROW]
[ROW][C]Confidence[/C][C]0.99[/C][/ROW]
[ROW][C]Power[/C][C]0.05[/C][/ROW]
[ROW][C]Population Variance[/C][C]13[/C][/ROW]
[ROW][C]z(alpha/2) + z(beta)[/C][C]4.22068293050037[/C][/ROW]
[ROW][C]z(alpha) + z(beta)[/C][C]3.97120150099231[/C][/ROW]
[ROW][C]Minimum Sample Size (2 sided test)[/C][C]2315841.37197624[/C][/ROW]
[ROW][C]Minimum Sample Size (1 sided test)[/C][C]2050157.37699287[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=88277&T=2

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

As an alternative you can also use a QR Code:  

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

Minimum Sample Size (for Infinite Populations)
Population Sizeinfinite
Margin of Error0.01
Confidence0.99
Power0.05
Population Variance13
z(alpha/2) + z(beta)4.22068293050037
z(alpha) + z(beta)3.97120150099231
Minimum Sample Size (2 sided test)2315841.37197624
Minimum Sample Size (1 sided test)2050157.37699287







Minimum Sample Size (Unknown Population Variance)
Population Size105
Margin of Error0.01
Confidence0.99
Power0.05
Population Varianceunknown
t(alpha/2) + t(beta)4.28357185512491
t(alpha) + t(beta)4.02237929318593
Minimum Sample Size (2 sided test)104.995422290397
Minimum Sample Size (1 sided test)104.994808512984

\begin{tabular}{lllllllll}
\hline
Minimum Sample Size (Unknown Population Variance) \tabularnewline
Population Size & 105 \tabularnewline
Margin of Error & 0.01 \tabularnewline
Confidence & 0.99 \tabularnewline
Power & 0.05 \tabularnewline
Population Variance & unknown \tabularnewline
t(alpha/2) + t(beta) & 4.28357185512491 \tabularnewline
t(alpha) + t(beta) & 4.02237929318593 \tabularnewline
Minimum Sample Size (2 sided test) & 104.995422290397 \tabularnewline
Minimum Sample Size (1 sided test) & 104.994808512984 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=88277&T=3

[TABLE]
[ROW][C]Minimum Sample Size (Unknown Population Variance)[/C][/ROW]
[ROW][C]Population Size[/C][C]105[/C][/ROW]
[ROW][C]Margin of Error[/C][C]0.01[/C][/ROW]
[ROW][C]Confidence[/C][C]0.99[/C][/ROW]
[ROW][C]Power[/C][C]0.05[/C][/ROW]
[ROW][C]Population Variance[/C][C]unknown[/C][/ROW]
[ROW][C]t(alpha/2) + t(beta)[/C][C]4.28357185512491[/C][/ROW]
[ROW][C]t(alpha) + t(beta)[/C][C]4.02237929318593[/C][/ROW]
[ROW][C]Minimum Sample Size (2 sided test)[/C][C]104.995422290397[/C][/ROW]
[ROW][C]Minimum Sample Size (1 sided test)[/C][C]104.994808512984[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=88277&T=3

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

As an alternative you can also use a QR Code:  

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

Minimum Sample Size (Unknown Population Variance)
Population Size105
Margin of Error0.01
Confidence0.99
Power0.05
Population Varianceunknown
t(alpha/2) + t(beta)4.28357185512491
t(alpha) + t(beta)4.02237929318593
Minimum Sample Size (2 sided test)104.995422290397
Minimum Sample Size (1 sided test)104.994808512984







Minimum Sample Size(Infinite Population, Unknown Population Variance)
Population Sizeinfinite
Margin of Error0.01
Confidence0.99
Power0.05
Population Varianceunknown
t(alpha/2) + t(beta)4.22068571148703
t(alpha) + t(beta)3.97120406316120
Minimum Sample Size (2 sided test)2315844.4237696
Minimum Sample Size (1 sided test)2050160.02246484

\begin{tabular}{lllllllll}
\hline
Minimum Sample Size(Infinite Population, Unknown Population Variance) \tabularnewline
Population Size & infinite \tabularnewline
Margin of Error & 0.01 \tabularnewline
Confidence & 0.99 \tabularnewline
Power & 0.05 \tabularnewline
Population Variance & unknown \tabularnewline
t(alpha/2) + t(beta) & 4.22068571148703 \tabularnewline
t(alpha) + t(beta) & 3.97120406316120 \tabularnewline
Minimum Sample Size (2 sided test) & 2315844.4237696 \tabularnewline
Minimum Sample Size (1 sided test) & 2050160.02246484 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=88277&T=4

[TABLE]
[ROW][C]Minimum Sample Size(Infinite Population, Unknown Population Variance)[/C][/ROW]
[ROW][C]Population Size[/C][C]infinite[/C][/ROW]
[ROW][C]Margin of Error[/C][C]0.01[/C][/ROW]
[ROW][C]Confidence[/C][C]0.99[/C][/ROW]
[ROW][C]Power[/C][C]0.05[/C][/ROW]
[ROW][C]Population Variance[/C][C]unknown[/C][/ROW]
[ROW][C]t(alpha/2) + t(beta)[/C][C]4.22068571148703[/C][/ROW]
[ROW][C]t(alpha) + t(beta)[/C][C]3.97120406316120[/C][/ROW]
[ROW][C]Minimum Sample Size (2 sided test)[/C][C]2315844.4237696[/C][/ROW]
[ROW][C]Minimum Sample Size (1 sided test)[/C][C]2050160.02246484[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=88277&T=4

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

As an alternative you can also use a QR Code:  

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

Minimum Sample Size(Infinite Population, Unknown Population Variance)
Population Sizeinfinite
Margin of Error0.01
Confidence0.99
Power0.05
Population Varianceunknown
t(alpha/2) + t(beta)4.22068571148703
t(alpha) + t(beta)3.97120406316120
Minimum Sample Size (2 sided test)2315844.4237696
Minimum Sample Size (1 sided test)2050160.02246484



Parameters (Session):
par1 = 105 ; par2 = 0.01 ; par3 = 0.99 ; par4 = 13 ; par5 = 0.05 ;
Parameters (R input):
par1 = 105 ; par2 = 0.01 ; par3 = 0.99 ; par4 = 13 ; par5 = 0.05 ;
R code (references can be found in the software module):
par1 <- as.numeric(par1)
par2 <- as.numeric(par2)
par3 <- as.numeric(par3)
par4 <- as.numeric(par4)
par5 <- as.numeric(par5)
(z <- abs(qnorm((1-par3)/2)) + abs(qnorm(1-par5)))
(z1 <- abs(qnorm(1-par3)) + abs(qnorm(1-par5)))
z2 <- z*z
z2one <- z1*z1
z24 <- z2 * par4
z24one <- z2one * par4
npop <- array(NA, 200)
ppop <- array(NA, 200)
for (i in 1:200)
{
ppop[i] <- i * 100
npop[i] <- ppop[i] * z24 / (z24 + (ppop[i] - 1) * par2*par2)
}
bitmap(file='pic1.png')
plot(ppop,npop, xlab='population size', ylab='sample size (2 sided test)', main = paste('Confidence',par3))
dumtext <- paste('Margin of error = ',par2)
dumtext <- paste(dumtext,' Population Var. = ')
dumtext <- paste(dumtext, par4)
mtext(dumtext)
grid()
dev.off()
par2sq <- par2 * par2
num <- par1 * z24
denom <- z24 + (par1 - 1) * par2sq
(n <- num/denom)
num1 <- par1 * z24one
denom1 <- z24one + (par1 - 1) * par2sq
(n1 <- num1/denom1)
load(file='createtable')
a<-table.start()
a<-table.row.start(a)
a<-table.element(a,'Minimum Sample Size',2,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Population Size',header=TRUE)
a<-table.element(a,par1)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Margin of Error',header=TRUE)
a<-table.element(a,par2)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Confidence',header=TRUE)
a<-table.element(a,par3)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Power',header=TRUE)
a<-table.element(a,par5)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Population Variance',header=TRUE)
a<-table.element(a,par4)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'z(alpha/2) + z(beta)',header=TRUE)
a<-table.element(a,z)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'z(alpha) + z(beta)',header=TRUE)
a<-table.element(a,z1)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Minimum Sample Size (2 sided test)',header=TRUE)
a<-table.element(a,n)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Minimum Sample Size (1 sided test)',header=TRUE)
a<-table.element(a,n1)
a<-table.row.end(a)
a<-table.end(a)
table.save(a,file='mytable.tab')
(ni <- z24 / (par2sq))
(ni1 <- z24one / (par2sq))
a<-table.start()
a<-table.row.start(a)
a<-table.element(a,'Minimum Sample Size (for Infinite Populations)',2,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Population Size',header=TRUE)
a<-table.element(a,'infinite')
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Margin of Error',header=TRUE)
a<-table.element(a,par2)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Confidence',header=TRUE)
a<-table.element(a,par3)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Power',header=TRUE)
a<-table.element(a,par5)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Population Variance',header=TRUE)
a<-table.element(a,par4)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'z(alpha/2) + z(beta)',header=TRUE)
a<-table.element(a,z)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'z(alpha) + z(beta)',header=TRUE)
a<-table.element(a,z1)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Minimum Sample Size (2 sided test)',header=TRUE)
a<-table.element(a,ni)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Minimum Sample Size (1 sided test)',header=TRUE)
a<-table.element(a,ni1)
a<-table.row.end(a)
a<-table.end(a)
table.save(a,file='mytable.tab')
(z <- abs(qt((1-par3)/2,n-1)) + abs(qt(1-par5,n-1)))
(z1 <- abs(qt(1-par3,n1-1)) + abs(qt(1-par5,n1-1)))
z2 <- z*z
z2one <- z1*z1
z24 <- z2 * par4
z24one <- z2one * par4
par2sq <- par2 * par2
num <- par1 * z24
denom <- z24 + (par1 - 1) * par2sq
(n <- num/denom)
num1 <- par1 * z24one
denom1 <- z24one + (par1 - 1) * par2sq
(n1 <- num1/denom1)
a<-table.start()
a<-table.row.start(a)
a<-table.element(a,'Minimum Sample Size (Unknown Population Variance)',2,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Population Size',header=TRUE)
a<-table.element(a,par1)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Margin of Error',header=TRUE)
a<-table.element(a,par2)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Confidence',header=TRUE)
a<-table.element(a,par3)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Power',header=TRUE)
a<-table.element(a,par5)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Population Variance',header=TRUE)
a<-table.element(a,'unknown')
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'t(alpha/2) + t(beta)',header=TRUE)
a<-table.element(a,z)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'t(alpha) + t(beta)',header=TRUE)
a<-table.element(a,z1)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Minimum Sample Size (2 sided test)',header=TRUE)
a<-table.element(a,n)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Minimum Sample Size (1 sided test)',header=TRUE)
a<-table.element(a,n1)
a<-table.row.end(a)
a<-table.end(a)
table.save(a,file='mytable.tab')
(z <- abs(qt((1-par3)/2,ni-1)) + abs(qt(1-par5,ni-1)))
(z1 <- abs(qt(1-par3,ni1-1)) + abs(qt(1-par5,ni1-1)))
z2 <- z*z
z2one <- z1*z1
z24 <- z2 * par4
z24one <- z2one * par4
(ni <- z24 / (par2sq))
(ni1 <- z24one / (par2sq))
a<-table.start()
a<-table.row.start(a)
a<-table.element(a,'Minimum Sample Size
(Infinite Population, Unknown Population Variance)',2,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Population Size',header=TRUE)
a<-table.element(a,'infinite')
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Margin of Error',header=TRUE)
a<-table.element(a,par2)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Confidence',header=TRUE)
a<-table.element(a,par3)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Power',header=TRUE)
a<-table.element(a,par5)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Population Variance',header=TRUE)
a<-table.element(a,'unknown')
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'t(alpha/2) + t(beta)',header=TRUE)
a<-table.element(a,z)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'t(alpha) + t(beta)',header=TRUE)
a<-table.element(a,z1)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Minimum Sample Size (2 sided test)',header=TRUE)
a<-table.element(a,ni)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Minimum Sample Size (1 sided test)',header=TRUE)
a<-table.element(a,ni1)
a<-table.row.end(a)
a<-table.end(a)
table.save(a,file='mytable.tab')