如果我有一个向量 c(1,2,3,5,7,9,10,12)...和另一个向量 c(3,7,10),我将如何生成以下内容:
[[1]]
1,2,3
[[2]]
5,7
[[3]]
9,10
[[4]]
12
注意 3 7 和 10 如何成为每个列表元素的最后一个数字(最后一个除外)。或者在某种意义上是“断点”。我确信有一个简单的 R 函数我不知道或失去了内存。
最佳答案
这是使用cut
和split
的一种方法:
split(x, cut(x, c(-Inf, y, Inf)))
#$`(-Inf,3]`
#[1] 1 2 3
#
#$`(3,7]`
#[1] 5 7
#
#$`(7,10]`
#[1] 9 10
#
#$`(10, Inf]`
#[1] 12
关于r - 在 R 中拆分数值向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24990823/