DescTools (version 0.99.15)

PearsonTest: Pearson chi-square test for normality

Description

Performs the Pearson chi-square test for the composite hypothesis of normality.

Usage

PearsonTest(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:
  • statisticthe value of the Pearson chi-square statistic.
  • p.valuethe p-value for the test.
  • methodthe character string Pearson chi-square normality test.
  • data.namea character string giving the name(s) of the data.
  • n.classesthe number of classes used for the test.
  • dfthe 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. Sec. 5.2

See Also

shapiro.test for performing the Shapiro-Wilk test for normality. AndersonDarlingTest, CramerVonMisesTest, LillieTest, ShapiroFranciaTest for performing further tests for normality. qqnorm for producing a normal quantile-quantile plot.

Examples

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

Run the code above in your browser using DataCamp Workspace