nortest (version 1.0-4)

ad.test: Anderson-Darling test for normality


Performs the Anderson-Darling test for the composite hypothesis of normality, see e.g. Thode (2002, Sec. 5.1.4).




a numeric vector of data values, the number of which must be greater than 7. Missing values are allowed.


  • A list with class htest containing the following components:
  • statisticthe value of the Anderson-Darling statistic.
  • p.valuethe p-value for the test.
  • methodthe character string Anderson-Darling normality test.
  • data.namea character string giving the name(s) of the data.


The Anderson-Darling test is an EDF omnibus test for the composite hypothesis of normality. The test statistic is $$A = -n -\frac{1}{n} \sum_{i=1}^{n} [2i-1] [\ln(p_{(i)}) + \ln(1 - p_{(n-i+1)})],$$ where $p_{(i)} = \Phi([x_{(i)} - \overline{x}]/s)$. Here, $\Phi$ is the cumulative distribution function of the standard normal distribution, and $\overline{x}$ and $s$ are mean and standard deviation of the data values. The p-value is computed from the modified statistic $Z=A (1.0 + 0.75/n +2.25/n^{2})$ according to Table 4.9 in Stephens (1986).


Stephens, M.A. (1986): Tests based on EDF statistics. In: D'Agostino, R.B. and Stephens, M.A., eds.: Goodness-of-Fit Techniques. Marcel Dekker, New York. Thode Jr., H.C. (2002): Testing for Normality. Marcel Dekker, New York.

See Also

shapiro.test for performing the Shapiro-Wilk test for normality. cvm.test, lillie.test, pearson.test, sf.test for performing further tests for normality. qqnorm for producing a normal quantile-quantile plot.


Run this code
ad.test(rnorm(100, mean = 5, sd = 3))
ad.test(runif(100, min = 2, max = 4))

Run the code above in your browser using DataCamp Workspace