R - 按定义的间隔切割

Bar*_*ata 32 r

在R中是否有某种方法可以在没有任何中断的情况下按照定义的间隔进

例如,如果我想要精确区间[1,10]中的值; 默认情况下cut,将此间隔分成较小的间隔.

And*_*rie 41

要剪切到预定义的间隔,可以使用breaks参数指定中断的向量.

定义一些数据:

x <- sample(0:20, 100, replace=TRUE)
x
Run Code Online (Sandbox Code Playgroud)

现在在0,10和20处剪切x:

cut(x, breaks=c(0, 10, 20), include.lowest=TRUE)

  [1] (10,20] [0,10]  [0,10]  (10,20] (10,20] (10,20] [0,10]  (10,20] (10,20]
 [10] (10,20] [0,10]  (10,20] (10,20] (10,20] [0,10]  (10,20] [0,10]  [0,10] 
 [19] [0,10]  (10,20] [0,10]  [0,10]  [0,10]  (10,20] [0,10]  (10,20] (10,20]
 [28] (10,20] (10,20] [0,10]  [0,10]  [0,10]  [0,10]  (10,20] [0,10]  [0,10] 
 [37] [0,10]  [0,10]  (10,20] (10,20] (10,20] (10,20] [0,10]  (10,20] [0,10] 
 [46] (10,20] [0,10]  (10,20] (10,20] [0,10]  [0,10]  (10,20] (10,20] (10,20]
 [55] [0,10]  [0,10]  (10,20] [0,10]  [0,10]  [0,10]  [0,10]  (10,20] (10,20]
 [64] (10,20] [0,10]  [0,10]  (10,20] (10,20] (10,20] (10,20] (10,20] (10,20]
 [73] (10,20] [0,10]  [0,10]  [0,10]  (10,20] [0,10]  (10,20] [0,10]  (10,20]
 [82] [0,10]  [0,10]  (10,20] [0,10]  [0,10]  [0,10]  (10,20] (10,20] [0,10] 
 [91] [0,10]  [0,10]  (10,20] (10,20] [0,10]  [0,10]  [0,10]  [0,10]  (10,20]
[100] (10,20]
Levels: [0,10] (10,20]
Run Code Online (Sandbox Code Playgroud)


Rom*_*rik 15

像这样的东西?每个0.2从0到1中断.

> a <- runif(100)
> cut(a, seq(from = 0, to = 1, by = 0.2))
  [1] (0,0.2]   (0.8,1]   (0.8,1]   (0.6,0.8] (0.6,0.8] (0,0.2]   (0.6,0.8]
  [8] (0.2,0.4] (0.8,1]   (0.4,0.6] (0.8,1]   (0.4,0.6] (0.8,1]   (0.6,0.8]
 [15] (0.8,1]   (0,0.2]   (0.8,1]   (0.8,1]   (0.6,0.8] (0.6,0.8] (0.2,0.4]
 [22] (0.4,0.6] (0.6,0.8] (0.2,0.4] (0.6,0.8] (0.6,0.8] (0.6,0.8] (0,0.2]  
 [29] (0,0.2]   (0.2,0.4] (0,0.2]   (0,0.2]   (0,0.2]   (0,0.2]   (0,0.2]  
 [36] (0.6,0.8] (0.2,0.4] (0.6,0.8] (0.6,0.8] (0.8,1]   (0.2,0.4] (0.4,0.6]
 [43] (0.4,0.6] (0.6,0.8] (0.2,0.4] (0.6,0.8] (0.6,0.8] (0.6,0.8] (0.4,0.6]
 [50] (0.6,0.8] (0.6,0.8] (0,0.2]   (0.2,0.4] (0.8,1]   (0.8,1]   (0.8,1]  
 [57] (0.6,0.8] (0.2,0.4] (0.2,0.4] (0,0.2]   (0.8,1]   (0.8,1]   (0.2,0.4]
 [64] (0.8,1]   (0.2,0.4] (0.4,0.6] (0.8,1]   (0,0.2]   (0.4,0.6] (0,0.2]  
 [71] (0.4,0.6] (0.8,1]   (0.6,0.8] (0.4,0.6] (0,0.2]   (0.2,0.4] (0.4,0.6]
 [78] (0,0.2]   (0.2,0.4] (0.8,1]   (0,0.2]   (0.4,0.6] (0.8,1]   (0,0.2]  
 [85] (0,0.2]   (0.2,0.4] (0.2,0.4] (0.4,0.6] (0.8,1]   (0.2,0.4] (0,0.2]  
 [92] (0.6,0.8] (0.2,0.4] (0.2,0.4] (0.8,1]   (0.2,0.4] (0.4,0.6] (0,0.2]  
 [99] (0,0.2]   (0,0.2]  
Levels: (0,0.2] (0.2,0.4] (0.4,0.6] (0.6,0.8] (0.8,1]
Run Code Online (Sandbox Code Playgroud)