我正在以这种方式使用剪切功能
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
有人可以帮助我吗?
非常感谢
答案 0 :(得分:0)
这没什么不对。默认情况下,cut
会关闭右侧的时间间隔,因此10^6
会置于10^5
和10^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,即间隔数而不是您为其分配的标签。