# Kolmogorov–Smirnov test, retrieve output

#1

Hi,

I would like to use the KS test on 2000 datasets and each time I run it just retrieve the output values into an array. Being quite new to Julia, I wonder how (and if) this is possible. Currently, I am doing ApproximateTwoSampleKSTest(x11,y11) which prints out all results to the screen like this

## Approximate two sample Kolmogorov-Smirnov test

Population details:
parameter of interest: Supremum of CDF differences
value under h_0: 0.0
point estimate: 0.1540000000000001

Test summary:
outcome with 95% confidence: reject h_0
two-sided p-value: 1.0030026093285193e-10 (extremely significant)

Details:
number of observations: [1000,1000]
KS-statistic: 3.443544685349679

Thanks

Philipp

#2

You can save the whole objects into an array easily, e.g. by `results[11] = ApproximateTwoSampleKSTest(x11, y11)`, or if you are only after the p value you can `results[11] = pvalue(ApproximateTwoSampleKSTest(x11, y11))`. Interestingly, there does not seem to be a function to get the test statistic. You can get it by

``````function teststatistic(x)
n = x.n_x*x.n_y/(x.n_x+x.n_y)
sqrt(n)*x.δ
end

x = ApproximateTwoSampleKSTest(x11, y11)
teststatistic(x)
``````

I have taken this code from the package source. The `x.n_x` variables above refer to the field names of the object, you can see them by e.g. `fieldnames(x)`.

#3

Thanks!

Ja, I used the
`results[11] = ApproximateTwoSampleKSTest(x11, y11)`
option, and even figured out the pvalue function in the meantime, but I was really interested in storing the test statistics for all my 2000 tests. So great, thanks a lot.

P