R切零长度间隔

时间:2016-05-25 22:43:12

标签: r

我的列的数值在1-7范围内。我想使用cut函数将这些值拆分为以下区间: 1 - > 1,1.001-1.999 - > 2,2 - > 3,2.001-2.999 - > 4,等我用了以下几行:

df$CAPECStmp = cut(df$AvgCAPEComputerScience,
               breaks=c(1,1.001,2,2.001,3,3.001,4,4.001,5,5.001), 
               labels=FALSE,
               include.lowest = TRUE)

但是,2.00映射到2,而不是预期的3。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

看起来这是按设计工作的;如果查看cut上的文档,它将包含组中的最高值。如果您不想要这种行为,可以将right设置为FALSE。这将包括最低值。

df$CAPECStmp = cut(df$AvgCAPEComputerScience,
                   breaks=c(1,1.001,2,2.001,3,3.001,4,4.001,5,5.001), 
                   labels=FALSE,
                   include.lowest = TRUE, 
                   right = FALSE)