切割功能不起作用

时间:2014-04-10 14:52:57

标签: r

我正在以这种方式使用剪切功能

 brks   <- c(0,10^rep(0:15))
> brks
 [1] 0e+00 1e+00 1e+01 1e+02 1e+03 1e+04 1e+05 1e+06 1e+07 1e+08 1e+09 1e+10 1e+11 1e+12 1e+13 1e+14 1e+15

 test <- cut(10^6,breaks=brks,labels=0:15,include.lowest=T)

 but what I get is wrong

>test
[1] 6
Levels: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

since brks[6] = 10^4 and not 10^6

有人可以帮助我吗?

非常感谢

1 个答案:

答案 0 :(得分:0)

这没什么不对。默认情况下,cut会关闭右侧的时间间隔,因此10^6会置于10^510^6之间的第7个时间间隔内。由于您将这些间隔标记为labels=0:15,因此第7个间隔标记为6.因此

cut(10^6,breaks=brks,labels=0:15,include.lowest=T) 

等于6。

另一方面

as.numeric(cut(10^6,breaks=brks,labels=0:15,include.lowest=T))

返回7,即间隔数而不是您为其分配的标签。