This function is based on the standard normal distribution and creates confidence intervals and tests hypotheses for both one and two sample problems.

z.test(
  x,
  sigma.x = NULL,
  y = NULL,
  sigma.y = NULL,
  sigma.d = NULL,
  alternative = c("two.sided", "less", "greater"),
  mu = 0,
  paired = FALSE,
  conf.level = 0.95,
  ...
)

Arguments

x

a (non-empty) numeric vector of data values

sigma.x

a single number representing the population standard deviation for x

y

an optional (non-empty) numeric vector of data values

sigma.y

a single number representing the population standard deviation for y

sigma.d

a single number representing the population standard deviation for the paired differences

alternative

character string, one of "greater", "less", or "two.sided", or the initial letter of each, indicating the specification of the alternative hypothesis. For one-sample tests, alternative refers to the true mean of the parent population in relation to the hypothesized value mu. For the standard two-sample tests, alternative refers to the difference between the true population mean for x and that for y, in relation to mu.

mu

a single number representing the value of the mean or difference in means specified by the null hypothesis

paired

a logical indicating whether you want a paired z-test

conf.level

confidence level for the returned confidence interval, restricted to lie between zero and one

...

Other arguments passed onto z.test()

Value

A list of class htest, containing the following components:

statistic

the z-statistic, with names attribute z

p.value

the p-value for the test

conf.int

is a confidence interval (vector of length 2) for the true mean or difference in means. The confidence level is recorded in the attribute conf.level. When alternative is not "two.sided," the confidence interval will be half-infinite, to reflect the interpretation of a confidence interval as the set of all values k for which one would not reject the null hypothesis that the true mean or difference in means is k . Here, infinity will be represented by Inf.

estimate

vector of length 1 or 2, giving the sample mean(s) or mean of differences; these estimate the corresponding population parameters. Component estimate has a names attribute describing its elements.

null.value

the value of the mean or difference of means specified by the null hypothesis. This equals the input argument mu. Component null.value has a names attribute describing its elements.

alternative

records the value of the input argument alternative: "greater", "less", or "two.sided".

data.name

a character string (vector of length 1) containing the actual names of the input vectors x and y

Details

If y is NULL, a one-sample z-test is carried out with x provided sigma.x is not NULL. If y is not NULL, a standard two-sample z-test is performed provided both sigma.x and sigma.y are finite. If paired = TRUE, a paired z-test where the differences are defined as x - y is performed when the user enters a finite value for sigma.d (the population standard deviation for the differences).

Null Hypothesis

For the one-sample z-test, the null hypothesis is that the mean of the population from which x is drawn is mu. For the standard two-sample z-test, the null hypothesis is that the population mean for x less that for y is mu. For the paired z-test, the null hypothesis is that the mean difference between x and y is mu.

The alternative hypothesis in each case indicates the direction of divergence of the population mean for x (or difference of means for x and y) from mu (i.e., "greater", "less", or "two.sided").

Test Assumptions

The assumption of normality for the underlying distribution or a sufficiently large sample size is required along with the population standard deviation to use Z procedures.

Confidence Intervals

For each of the above tests, an expression for the related confidence interval (returned component conf.int) can be obtained in the usual way by inverting the expression for the test statistic. Note that, as explained under the description of conf.int, the confidence interval will be half-infinite when alternative is not "two.sided" ; infinity will be represented by Inf.

References

  • Kitchens, L.J. 2003. Basic Statistics and Data Analysis. Duxbury.

  • Hogg, R. V. and Craig, A. T. 1970. Introduction to Mathematical Statistics, 3rd ed. Toronto, Canada: Macmillan.

  • Mood, A. M., Graybill, F. A. and Boes, D. C. 1974. Introduction to the Theory of Statistics, 3rd ed. New York: McGraw-Hill.

  • Snedecor, G. W. and Cochran, W. G. 1980. Statistical Methods, 7th ed. Ames, Iowa: Iowa State University Press.

See also

Author

Alan T. Arnholt <arnholtat@appstate.edu>

Examples

with(data = GROCERY, z.test(x = amount, sigma.x = 30, conf.level = 0.97)$conf)
#> [1] 108.7473 132.5194
#> attr(,"conf.level")
#> [1] 0.97
# Example 8.3 from PASWR.
x <- rnorm(12)
z.test(x, sigma.x = 1)
#> 
#> 	One Sample z-test
#> 
#> data:  x
#> z = 0.30947, p-value = 0.757
#> alternative hypothesis: true mean is not equal to 0
#> 95 percent confidence interval:
#>  -0.4764578  0.6551279
#> sample estimates:
#>  mean of x 
#> 0.08933503 
#> 
# Two-sided one-sample z-test where the assumed value for 
# sigma.x is one. The null hypothesis is that the population 
# mean for 'x' is zero. The alternative hypothesis states 
# that it is either greater or less than zero. A confidence 
# interval for the population mean will be computed.
x <- c(7.8, 6.6, 6.5, 7.4, 7.3, 7., 6.4, 7.1, 6.7, 7.6, 6.8)
y <- c(4.5, 5.4, 6.1, 6.1, 5.4, 5., 4.1, 5.5)
z.test(x, sigma.x=0.5, y, sigma.y=0.5, mu=2)
#> 
#> 	Two Sample z-test
#> 
#> data:  x and y
#> z = -1.0516, p-value = 0.293
#> alternative hypothesis: true difference in means is not equal to 2
#> 95 percent confidence interval:
#>  1.300323 2.211040
#> sample estimates:
#> mean of x mean of y 
#>  7.018182  5.262500 
#> 
# Two-sided standard two-sample z-test where both sigma.x 
# and sigma.y are both assumed to equal 0.5. The null hypothesis 
# is that the population mean for 'x' less that for 'y' is 2. 
# The alternative hypothesis is that this difference is not 2. 
# A confidence interval for the true difference will be computed.
z.test(x, sigma.x = 0.5, y, sigma.y = 0.5, conf.level = 0.90)
#> 
#> 	Two Sample z-test
#> 
#> data:  x and y
#> z = 7.5568, p-value = 4.13e-14
#> alternative hypothesis: true difference in means is not equal to 0
#> 90 percent confidence interval:
#>  1.373533 2.137831
#> sample estimates:
#> mean of x mean of y 
#>  7.018182  5.262500 
#> 
# Two-sided standard two-sample z-test where both sigma.x and 
# sigma.y are both assumed to equal 0.5. The null hypothesis 
# is that the population mean for 'x' less that for 'y' is zero.  
# The alternative hypothesis is that this difference is not
# zero.  A 90\% confidence interval for the true difference will 
# be computed.
rm(x, y)