Compute the test of hypothesis and compute confidence interval on the mean of a population when the standard deviation of the population is known.

ZTest(x, ...)

# Default S3 method
ZTest(x, y = NULL, alternative = c("two.sided", "less", "greater"),
      paired = FALSE, mu = 0, sd_pop, conf.level = 0.95, ... )

# S3 method for class 'formula'
ZTest(formula, data, subset, na.action, ...)

Arguments

x

numeric vector of data values. Non-finite (e.g. infinite or missing) values will be omitted.

y

an optional numeric vector of data values: as with x non-finite values will be omitted.

mu

a number specifying the hypothesized mean of the population.

sd_pop

a number specifying the known standard deviation of the population.

alternative

a character string specifying the alternative hypothesis, must be one of "two.sided" (default), "greater" or "less". You can specify just the initial letter.
For one-sample tests, alternative refers to the true mean of the parent population in relation to the hypothesized value of the mean.

paired

a logical indicating whether you want a paired z-test.

conf.level

confidence level for the interval computation.

formula

a formula of the form lhs ~ rhs where lhs gives the data values and rhs a factor with two levels giving the corresponding groups.

data

an optional matrix or data frame (or similar: see model.frame) containing the variables in the formula formula. By default the variables are taken from environment(formula).

subset

an optional vector specifying a subset of observations to be used.

na.action

a function which indicates what should happen when the data contain NAs. Defaults to getOption("na.action").

...

further arguments to be passed to or from methods.

Details

Most introductory statistical texts introduce inference by using the z-test and z-based confidence intervals based on knowing the population standard deviation. However statistical packages often do not include functions to do z-tests since the t-test is usually more appropriate for real world situations. This function is meant to be used during that short period of learning when the student is learning about inference using z-procedures, but has not learned the t-based procedures yet. Once the student has learned about the t-distribution the t.test() function should be used instead of this one (but the syntax is very similar, so this function should be an appropriate introductory step to learning t.test()).

The formula interface is only applicable for the 2-sample tests.

Value

A list with class "htest" containing the following components:

statistic

the value of the z-statistic.

p.value

the p-value for the test

conf.int

a confidence interval for the mean appropriate to the specified alternative hypothesis.

estimate

the estimated mean or difference in means depending on whether it was a one-sample test or a two-sample test.

null.value

the specified hypothesized value of the mean or mean difference depending on whether it was a one-sample test or a two-sample test.

alternative

a character string describing the alternative hypothesis.

method

a character string indicating what type of test was performed.

data.name

a character string giving the name(s) of the data.

References

Stahel, W. (2002) Statistische Datenanalyse, 4th ed, vieweg

Author

Andri Signorell <andri@signorell.net>, based on R-Core code of t.test,
documentation partly from Greg Snow <greg.snow@imail.org>

See also

Examples

x <- rnorm(25, 100, 5)
ZTest(x, mu=99, sd_pop=5)
#> 
#> 	One Sample z-test
#> 
#> data:  x
#> z = 0.9, Std. Dev. Population = 5, p-value = 0.3
#> alternative hypothesis: true mean is not equal to 99
#> 95 percent confidence interval:
#>   98 102
#> sample estimates:
#> mean of x 
#>      99.9 
#> 

# the classic interface
with(sleep, ZTest(extra[group == 1], extra[group == 2], sd_pop=2))
#> 
#> 	Two Sample z-test
#> 
#> data:  extra[group == 1] and extra[group == 2]
#> z = -2, Std. Dev. Population = 2, p-value = 0.08
#> alternative hypothesis: true difference in means is not equal to 0
#> 95 percent confidence interval:
#>  -3.333  0.173
#> sample estimates:
#> mean of x mean of y 
#>      0.75      2.33 
#> 

# the formula interface
ZTest(extra ~ group, data = sleep, sd_pop=2)
#> 
#> 	Two Sample z-test
#> 
#> data:  extra by group
#> z = -2, Std. Dev. Population = 2, p-value = 0.08
#> alternative hypothesis: true difference in means is not equal to 0
#> 95 percent confidence interval:
#>  -3.333  0.173
#> sample estimates:
#> mean in group 1 mean in group 2 
#>            0.75            2.33 
#> 


# Stahel (2002), pp. 186, 196

d.tyres <- data.frame(A=c(44.5,55,52.5,50.2,45.3,46.1,52.1,50.5,50.6,49.2),
                      B=c(44.9,54.8,55.6,55.2,55.6,47.7,53,49.1,52.3,50.7))
with(d.tyres, ZTest(A, B, sd_pop=3, paired=TRUE))
#> 
#> 	Paired z-test
#> 
#> data:  A and B
#> z = -2, Std. Dev. Population = 3, p-value = 0.02
#> alternative hypothesis: true difference in means is not equal to 0
#> 95 percent confidence interval:
#>  -4.149 -0.431
#> sample estimates:
#> mean of the differences 
#>                   -2.29 
#> 


d.oxen <- data.frame(ext=c(2.7,2.7,1.1,3.0,1.9,3.0,3.8,3.8,0.3,1.9,1.9),
                     int=c(6.5,5.4,8.1,3.5,0.5,3.8,6.8,4.9,9.5,6.2,4.1))
with(d.oxen, ZTest(int, ext, sd_pop=1.8, paired=FALSE))
#> 
#> 	Two Sample z-test
#> 
#> data:  int and ext
#> z = 4, Std. Dev. Population = 2, p-value = 0.00008
#> alternative hypothesis: true difference in means is not equal to 0
#> 95 percent confidence interval:
#>  1.51 4.52
#> sample estimates:
#> mean of x mean of y 
#>      5.39      2.37 
#>