我有两个向量 Y 和 Z ,其中包含双精度数字。 Y的长度是596,Z的长度是1437。我将在下面附加一些示例。
Y: 0.700000 0.716667 0.716667 0.783333 0.816667 0.833333 0.850000 0.883333 0.883333 0.883333 ................14.833330 16.350000 17.150000
Z: 0.3166667 0.4166670 0.4500000 0.4833330 0.5000000 0.5166670 0.5166670 0.5166670 0.5500000 0.5500000 0.5666670 0.5666670 0.5666670 0.5666670 0.5666670 0.5833330 0.5833330 0.6166670 0.6166670 0.6500000 .....................17.91667
我想找到Y的经验cdf 和Z的经验cdf之间的最大水平距离。
what I want to get it is in the picture
我通过KS测试找到了最大的垂直距离,但是找不到水平距离。
下面是我尝试过的方法,但是它效率很低而且是错误的。
ecdfy <- ecdf(Y)
ecdfz <- ecdf(Z)
for (j in seq(min(Y),max(Y),0.001)){
for (k in seq(max(Z),max(Z),0.001)){
if(ecdfy(j)==ecdfz(k)){
sub <- j-k
hor <- rbind(hor,sub)
}
}
}
max.hor<-max(hor)