我想重新调整我的数据。
例如:
if (0 <= data[i] <= 50) data[i] = 1
if (50 < data[i] <= 100) data[i] = 2
if (100 < data[i] <= 150) data[i] = 3
ETC ...
我可以通过使用“for”和“if”来繁琐地做到这一点,但最大值超过 3000。
有什么好主意吗?
该cut
命令对于分割区域很有用,尤其是那些大小不规则的区域。
#test data
x<-c(1,25,50,75,100,122,150, 770)
#cut
nx<-cut(x, breaks=c(0,50,100,150,Inf), include.lowest=T, labels=F)
#compare
cbind(n, nx)
# x
# [1,] 1 1
# [2,] 25 1
# [3,] 50 1
# [4,] 75 2
# [5,] 100 2
# [6,] 122 3
# [7,] 150 3
# [8,] 770 4
或者,如果您真的所有部门都是 50 人,那么正如@Lashane 指出的那样
ceiling(x/50)
将在没有 if 的情况下完成所有操作,而无需指定所有中断。