如何在R中使用中断剪切

我试图了解割线是如何分割和产生间隔的.尝试了?cut,但无法弄清楚r的工作方式.
这是我的问题:

set.seed(111)
data1 <- seq(1,10, by=1)
data1 
[1]  1  2  3  4  5  6  7  8  9 10
data1cut<- cut(data1, breaks = c(0,1,2,3,5,7,8,10), labels = FALSE)
data1cut
[1] 1 2 3 4 4 5 5 6 7 7

1.为什么data1cut结果中没有包含8,9,10?
2.为什么summary(data1)和summary(data1cut)产生不同的结果?

summary(data1)
Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
1.00    3.25    5.50    5.50    7.75   10.00 

summary(data1cut)
Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
1.00    3.25    4.50    4.40    5.75    7.00  

我应该如何更好地使用cut,以便我可以基于summary(data1)的结果创建说4个容器?

bin1 [1 -3.25]
bin2 (3.25 -5.50]
bin3 (5.50 -7.75]
bin4 (7.75 -10] 

谢谢.

最佳答案
在示例中剪切,将向量分为以下几部分:
0-1(1); 1-2(2); 2-3(3); 3-5(4); 5-7(5); 7-8(6); 8-10(7)

括号中的数字是根据提供的间隔值,切割后分配给每个纸箱的默认标签.

默认情况下,cut不包括下限范围.如果要更改它,则需要在include.lowest参数中指定它.

>您未分配标签,并且此函数的默认参数为FALSE,因此将使用级别代码(在方括号中)的整数向量代替.
> summary(data1)是原始数据的摘要,summary(data1cut)是拆分的摘要.

您可以使用以下方法获得所需的拆分:

data2cut<- 
  cut(data1, breaks = c(1, 3.25, 5.50, 7.75, 10),
      labels = c("1-3.25", "3.25-5.50", "5.50-7.75", "7.75-10"),
      include.lowest = TRUE)

结果如下:

data2cut

[1] 1-3.25 1-3.25 1-3.25 3.25-5.50 3.25-5.50 5.50-7.75 5.50-7.75 7.75-10 7.75-10
[10] 7.75-10
等级:1-3.25 3.25-5.50 5.50-7.75 7.75-10

我希望现在很清楚.

转载注明原文:如何在R中使用中断剪切 - 代码日志