长话短说,我想手动编写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
在这里,我想获得最大绝对差值(数据 - 预期)。
有人有想法吗?如有必要,我可以重新解释这个问题。谢谢!
答案 0 :(得分:0)
我正在寻找这段代码的答案:
> A <- with(df, max(abs(Data-Expected)))
,其中df是数据框。
在这里,我获得每个Data和Expected之间的差异,将值转换为绝对值,并从绝对差值向量中选择最大值。因此,答案是:
> A
0.082