我的列的数值在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。
任何帮助都将不胜感激。
答案 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)