-1

我想创建大小相等的箱子,最多达到一定数量。示例:因为我想在 0..100 范围内创建大小为 10 的 bin

0 10
10 20
20 30
.
.
.
90 100

我尝试使用“cut”,但无法使其达到我的目的。我用了

r<-cut(100,4)

但它回来了

[1] (99.95,100]
Levels: (99.9,99.95] (99.95,100] (100,100.05] (100.05,100.1]
4

3 回答 3

2

阅读帮助页面:?cut

cut(100,4)尝试将单个入口向量 (100) 切割成 4 个不同的 bin。在此调用中,cut无法知道您是否希望 bin 用您的 bin 覆盖区间 [0,100]、[50,100] 或 [99.9,100.1],因此它必须做出一些假设。

cut(1:100,breaks=10*(0:10))可能会做你想做的事,甚至levels(cut(100,breaks=10*(0:10))),取决于你想要对结果做什么。

于 2014-05-20T13:55:44.373 回答
2

v <- seq(0, 100, 10)
# [1]   0  10  20  30  40  50  60  70  80  90 100

成为一个向量。

您可以使用cut来指定间隔:

cut(v, seq(0, 100, 10), include.lowest = TRUE)
# [1] [0,10]   [0,10]   (10,20]  (20,30]  (30,40]  (40,50]  (50,60]  (60,70]  (70,80]  (80,90]  (90,100]
# Levels: [0,10] (10,20] (20,30] (30,40] (40,50] (50,60] (60,70] (70,80] (80,90] (90,100]
于 2014-05-20T13:56:21.673 回答
1

我想你正在寻找:

cbind(seq(0,90,by=10),seq(10,100,10))
      [,1] [,2]
 [1,]    0   10
 [2,]   10   20
 [3,]   20   30
 [4,]   30   40
 [5,]   40   50
 [6,]   50   60
 [7,]   60   70
 [8,]   70   80
 [9,]   80   90
[10,]   90  100
于 2014-05-20T14:15:00.173 回答