# Assessing normality of distribution

I'm having trouble understanding how to assess normality for discrete data. I understand the the K-S test is available to test the normality distribution for continuous data. However, what would be the equivalent for discrete data that have a Poisson or binomial shape? Would these be the chi-square and binomial test respectively? I'm not sure if these are testing significance rather than normality.

Any help is greatly appreciated!

Discrete distributions are not normal. The binomial can be approximated by a normal in large samples due to the central limit theorem. The same can be said for sample averages from discrete distributions.

For discrete distributions it is not uncommon to test to see if a distribution fits a binomial or a Poisson or a geometric distribution. The chi square goodness of fit test is the most common way. These procedures test hypotheses, so they are significance tests. But they do test for goodness of fit.

I suggest also using quantile plots to assess the closeness of fit of actual data and a theoretical distribution. Any significance test will partly rely on sample size - with large samples, even trivial deviations will be sig; with small ones, even large deviations won't be. Quantile plots allow you to see how far off your data are.

See qqnorm and qqplot in R.

e.g. if you are testing for normality:

x <- c(rep(1,5), rep(2, 10), rep(3, 15), rep(4, 10), rep(5,4))
qqnorm(x)
qqline(x)


the qqPlot() command of the car library automatically plots the confidence intervals of the theoretical distribution as well. It allows you to choose between normal- and t-distribution. Nice to have in some cases.
See attached picture as an example of qqnorm() and qqPlot() with categorical data (respectively left and right). However, the K-S test as well as other tests of the same type, are designed for simple hypotheses. For those tests to be reliable it is necessary to test against a distribution with known parameters. Here you are trying to assess if the sample is normal, not if it is, say, $\mathcal{N}(1,5)$. To remedy to this situation you can you use a corrected Cramer-von-mises test or a Lilliefors test. You can find the Lilliefors test in the "nortest" package for R. The test is robust and easy to use.