查找每个向量元素所属的范围

时间:2018-08-31 08:50:50

标签: r

我有一个随机数列表。

x=sample(1:1000, 3)

是否有一种简单的方法来获取每个元素所属的范围值的列表?

id=seq(1, 1000, by=50)

 [1]   1  51 101 151 201 251 301 351 401 451 501 551
[13] 601 651 701 751 801 851 901 951

例如

x
[1] 637 374  68

distribution
[1] "601~650" "351~400" "51~100"

1 个答案:

答案 0 :(得分:1)

使用findInterval尝试此简单的解决方案:

cbind(x,lim_inf=id[findInterval(x,id)],lim_sup=id[findInterval(x,id)+1])
       x lim_inf lim_sup
[1,] 378     351     401
[2,] 609     601     651
[3,] 496     451     501