Learn R Programming

nortest (version 1.0-4)

pearson.test: Pearson chi-square test for normality

Description

Performs the Pearson chi-square test for the composite hypothesis of normality, see e.g. Thode (2002, Sec. 5.2).

Usage

pearson.test(x, n.classes = ceiling(2 * (n^(2/5))), adjust = TRUE)

Arguments

x
a numeric vector of data values. Missing values are allowed.
n.classes
The number of classes. The default is due to Moore (1986).
adjust
logical; if TRUE (default), the p-value is computed from a chi-square distribution with n.classes-3 degrees of freedom, otherwise from a chi-square distribution with n.classes-1 degrees of freedom.

Value

A list with class “htest” containing the following components:
statistic
the value of the Pearson chi-square statistic.
p.value
the p-value for the test.
method
the character string “Pearson chi-square normality test”.
data.name
a character string giving the name(s) of the data.
n.classes
the number of classes used for the test.
df
the degress of freedom of the chi-square distribution used to compute the p-value.

Details

The Pearson test statistic is $P=\sum (C_{i} - E_{i})^{2}/E_{i}$, where $C_{i}$ is the number of counted and $E_{i}$ is the number of expected observations (under the hypothesis) in class $i$. The classes are build is such a way that they are equiprobable under the hypothesis of normality. The p-value is computed from a chi-square distribution with n.classes-3 degrees of freedom if adjust is TRUE and from a chi-square distribution with n.classes-1 degrees of freedom otherwise. In both cases this is not (!) the correct p-value, lying somewhere between the two, see also Moore (1986).

References

Moore, D.S. (1986): Tests of the chi-squared type. 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. ad.test, cvm.test, lillie.test, sf.test for performing further tests for normality. qqnorm for producing a normal quantile-quantile plot.

Examples

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

Run the code above in your browser using DataLab