如何在 R 中编写 Kolmogorov-Smirnov

How to write the Kolmogorov-Smirnov in R

长话短说,我想手动编写 Kolmogorov-Smirnov 单样本统计的代码,而不是在 R 中使用 ks.test()。据我了解,K-S 检验基本上是一个比率在分子和分母之间。我有兴趣写出分子,据我所知,它是观察样本与理论假设之间的最大绝对差异。让我们以下面的案例为例:

         Data    Expected
1  0.01052632 0.008864266
2  0.02105263 0.010969529
13 0.05263158 0.018282548
20 0.06315789 0.031689751
22 0.09473684 0.046315789
24 0.26315789 0.210526316
26 0.27368421 0.220387812
27 0.29473684 0.236232687
28 0.30526316 0.252520776
3  0.42105263 0.365650970
4  0.42105263 0.372299169
5  0.45263158 0.398781163
6  0.49473684 0.452853186
7  0.50526316 0.460277008
8  0.73684211 0.656842105
9  0.74736842 0.665484765
10 0.75789474 0.691523546
11 0.77894737 0.718005540
12 0.80000000 0.735955679
14 0.84210526 0.791135734
15 0.86315789 0.809972299
16 0.88421053 0.838559557
17 0.89473684 0.857950139
18 0.96842105 0.958337950
19 0.97894737 0.968642659
21 0.97894737 0.979058172
23 0.98947368 0.989473684
25 1.00000000 1.000000000

在这里,我想获得最大的绝对差值(数据 - 预期)。

有人有想法吗?如有必要,我可以改写这个问题。谢谢!

我利用下面的函数得到了答案:

> A <- with(df, max(abs(Data-Expected)))
> A
0.082

基本上,这个函数将两列之间的差异计算成一个新的向量,其值被转换为绝对值,并从绝对值中获得最大的一个。

感谢 Josh O'Brien。