首页 > 解决方案 > 查找每个向量元素所在的范围

问题描述

我有一个随机数列表。

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"

标签: r

解决方案


尝试使用这个简单的解决方案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

推荐阅读