由于某些原因match()
默认情况下将NaN
视为可比较对象:
> x <- c(1,2,3,NaN,4,5)
> match(x,x)
[1] 1 2 3 4 5 6
我可以在直接使用match()
时覆盖:
> match(x,x,incomparables=NaN)
[1] 1 2 3 NA 5 6
但在调用内部使用match()
的函数时不一定:
> ecdf(x)(x)
[1] 0.2 0.4 0.6 0.8 0.8 1.0
显然,对于任何给定的场景都有解决方法,但更大的问题是这种行为导致难以发现错误。因此,最好将不可比较设置为在我的.Rprofile
or .Rprofile.site
中全局包含NaN
。有办法吗?
供参考,我使用R版本3.2.2