D'Agostino–Pearson K² test combines sample skewness and kurtosis into a single omnibus normality test.
Most normality tests are silent on why a sample is non-normal. D'Agostino–Pearson decomposes the question into two interpretable directions: skewness (Z₁²) and kurtosis (Z₂²). The combined statistic K² = Z₁² + Z₂² is asymptotically chi-square with 2 df, so a significant K² with a large Z₁² says "the problem is skew" and a large Z₂² says "the problem is heavy tails".
Power is lower than Shapiro–Wilk against generic alternatives, but D'Agostino–Pearson is uniquely useful when you want to localise the departure for diagnostic purposes — should I log-transform (skew) or use a robust estimator (tails)?
One numeric column (n ≥ 20 strongly recommended for the asymptotic approximation).
K² statistic, df = 2, p-value. Component statistics for skew and kurtosis are exposed in the result panel.
A significant K² with Z₁² ≫ Z₂² ⇒ skew dominates ⇒ consider a log / sqrt / Box-Cox transformation.
A significant K² with Z₂² ≫ Z₁² ⇒ heavy tails dominate ⇒ consider trimmed means (Yuen's test) or robust regression.