R中的pLepage函数
这里是一个用于计算Lepage D统计信息的自定义函数,它返回的结果不同于由R中的pLepage函数,r,debugging,R,Debugging,这里是一个用于计算Lepage D统计信息的自定义函数,它返回的结果不同于由NSM3::pLepage()生成的D统计信息: 我对自己哪里做错了感到困惑。根据我的说法,问题就在这条线附近: r=rz[sort(z$ix,index=TRUE)$ix] 这里出现错误的原因是z(在输出为NA的测试用例中)有20个元素 因此,sort(z$ix,index=TRUE)$ix产生如下输出: 1 2 4 6 8 10 12 14 16 18 3 5 7 9 11 13 15 17 19
NSM3::pLepage()
生成的D统计信息:
我对自己哪里做错了感到困惑。根据我的说法,问题就在这条线附近:
r=rz[sort(z$ix,index=TRUE)$ix]
这里出现错误的原因是z(在输出为NA的测试用例中)有20个元素
因此,sort(z$ix,index=TRUE)$ix产生如下输出:
1 2 4 6 8 10 12 14 16 18 3 5 7 9 11 13 15 17 19 20
此外,向量rz的长度是19(而不是20)
rz向量的内容:
[1] 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.5 9.0 8.0 7.0 6.0 5.0
[16] 4.0 3.0 2.0 1.0
所以,当我们尝试访问向量rz的第20个元素时,它会生成NA
由于在求和时没有使用na.rm=t参数,因此C和W的值将变为na
这导致Wstar、Cstar和最终D变成NA
1 2 4 6 8 10 12 14 16 18 3 5 7 9 11 13 15 17 19 20
[1] 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.5 9.0 8.0 7.0 6.0 5.0
[16] 4.0 3.0 2.0 1.0