我想重新调整数据。
例如:
if (0 <= data[i] <= 50) data[i] = 1
if (50 < data[i] <= 100) data[i] = 2
if (100 < data[i] <= 150) data[i] = 3
等等......
我可以通过使用“for”和“if”来做到这一点,但最大值超过3000.
有什么好主意吗?
答案 0 :(得分:3)
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)
将在没有指定所有中断的情况下完成所有操作。