对称分档大约为0

时间:2014-11-04 12:32:10

标签: r histogram binning

假设我有一个向量:

vec.test <- c(-1.2, -1, -0.9, -0.5, 0, 0.5, 0.9 , 1, 1.2)

我想把它装进下面的箱子里:( - 2,-1],(-1,1),[1,2]

是否有比以下更优雅/自动的方式?

cut(vec.test, c(-2, -1+.Machine$double.eps, 1-.Machine$double.eps, 2), right=TRUE)

1 个答案:

答案 0 :(得分:1)

如果您不关心标签,可以这样做:

vec.test <- seq(-2, 2, by=0.5)
names(vec.test) <- cut(abs(vec.test), c(-1, 1, 2), right=FALSE, labels=FALSE) * 
                     (-1)^(vec.test <= -1 ) 
#<NA>   -2   -2    1    1    1    2    2 <NA> 
#-2.0 -1.5 -1.0 -0.5  0.0  0.5  1.0  1.5  2.0