我遇到了以下不一致的行为,cut
这让我很头疼:
x <- 0.2316
cut(x, c(0, 0.2315, 10)) #gives 0.232 as cutpoint and choses second interval
## [1] (0.232,10]
## Levels: (0,0.232] (0.232,10]
cut(x, c(0, 0.232, 10)) #choses first interval when taking the same cutpoint it just gave (0.232)
## [1] (0,0.232]
## Levels: (0,0.232] (0.232,10]
问题是cut
似乎在格式化(舍入)切割点之前选择了间隔。这导致示例中的行为不一致,即它选择了第二个区间,但会根据给定的切点选择第一个区间(可以在最后一行中看到)。
这对我来说是个问题,因为我的包中有两个函数:一个是计算切割点,第二个是确定放置新数据点的正确间隔。在上面的示例中,相同的数据点被放入第一个函数的第二个区间,但进入第二个函数的第一个区间 - 显示完全相同的切点!这可能会导致我的包裹中出现一些奇怪的行为!
我的问题
这是一个已知问题吗?如果是,是否有任何解决方法?谢谢
编辑
我知道您可以更改小数位数,dig.lab
但如果您有更多小数位的切点,则会出现同样的问题。上面的例子只是一个更一般问题的演示!