Search code examples
rstatisticsstatistical-testkolmogorov-smirnov

Kolmogorov-Smirnov test in R


I tried to use the Kolmogorov-Smirnov test to test normality of a sample. This is a small simple example of what I do:

x <- rnorm(1e5, 1, 2)
ks.test(x, "pnorm")

Here is the result R gives me:

        One-sample Kolmogorov-Smirnov test

data:  x
D = 0.3427, p-value < 2.2e-16
alternative hypothesis: two-sided

The p-value is very low whereas the test should accept the null-hypothesis.

I do not understand why it does not work.


Solution

  • As pointed out in the ks.test help, you have to give to the ks.test function the arguments of pnorm. If you do not precise mean and standard variation, the test is done on a standard gaussian distribution.

    Here you should write:

    ks.test(x, "pnorm", 1, 2) #or ks.test(x, "pnorm", mean=1, sd=2)