我在R中有两个不同长度的向量,我可以将这两个向量组合起来.我想找到属于每个区间的向量值:
x = c(1, 2, 3.5, 4, 6, 7.5, 8, 9, 10, 11.5, 12)
y = c(2.5, 6.5)
w = sort(c(x, y))
Run Code Online (Sandbox Code Playgroud)
我想找到小于2.5的向量值x,向量值x属于区间(2.5,6.5),向量值x大于6.5?
实际上,矢量y的值在我的算法的每次迭代中都会改变,例如,我可能有长度为4的向量y,那么如何在每次迭代中找到属于每个区间的向量值?
尝试:
> split(x, findInterval(x, y))
$`0`
[1] 1 2
$`1`
[1] 3.5 4.0 6.0
$`2`
[1] 7.5 8.0 9.0 10.0 11.5 12.0
Run Code Online (Sandbox Code Playgroud)
这是我们改变时会发生的事情 y
> y = c(2.5, 6.5, 10.5)
> split(x, findInterval(x, y))
$`0`
[1] 1 2
$`1`
[1] 3.5 4.0 6.0
$`2`
[1] 7.5 8.0 9.0 10.0
$`3`
[1] 11.5 12.0
Run Code Online (Sandbox Code Playgroud)