R 使用“切割”功能自定义间隔/箱子以将数据制成表格

R 使用“切割”功能自定义间隔/箱子以将数据制成表格,r,R,我有一个变量,我想在列联表中使用它,所以我想把变量的(离散的)值分成若干个箱子(或者更确切地说是区间),然后我可以把我的数据从一个总体中分类成若干个箱子。但是,我在网上找不到任何允许我按以下方式选择垃圾箱的信息: [-30, -20) [-20, -10) [-10, 0) 0 (0, 10] (10, 20] (20, 30] 也就是说,我希望一些区间是左开和右闭,另一个是在另一个方向上,中间的零是完全不同的类别。还有什么我可以做的吗?我只想将数据制成表格。我想您需要

我有一个变量,我想在列联表中使用它,所以我想把变量的(离散的)值分成若干个箱子(或者更确切地说是区间),然后我可以把我的数据从一个总体中分类成若干个箱子。但是,我在网上找不到任何允许我按以下方式选择垃圾箱的信息:

[-30, -20)   [-20, -10)   [-10, 0)   0   (0, 10]   (10, 20]   (20, 30]

也就是说,我希望一些区间是左开和右闭,另一个是在另一个方向上,中间的零是完全不同的类别。还有什么我可以做的吗?我只想将数据制成表格。

我想您需要两个调用
cut
来完成此操作:

x <- sample(-30:30, 1000, replace = TRUE)
然后将它们与
ifelse
组合(它们是互斥的,两组间隔覆盖除零之外的整个范围,因此这应该是很好的):

x_新
x_lower <- as.character(cut(x, breaks = c(-30,-20,-10,0), right = FALSE))
x_upper <- as.character(cut(x, breaks = c(0,10,20,30), right = TRUE ))
x_new <- ifelse(is.na(x_lower), ifelse(is.na(x_upper), "0", x_upper), x_lower)