1

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

         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

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

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

4

1 回答 1

1

我利用以下函数来获得答案:

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

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

归功于乔什·奥布莱恩。

于 2015-01-26T01:34:18.553 回答