构造一个包含两个其他向量值之间间隔的向量

时间:2012-12-07 22:27:05

标签: r vector range intervals higher-order-functions

我有两个整数向量,如下:

c(1,5,14,24)
c(3,9,22,30)

我需要从这些构造包含每个值之间的范围的向量,连接在一起,如下所示:

c(1:3,5:9,14:22,24:30)

最好的方法是什么?我在网站上找不到另一个问题。我尝试了一些使用高阶函数(Map,Fold等)的东西,但它们似乎只有一个列表参数。

1 个答案:

答案 0 :(得分:3)

你可以在这里使用mapply来获得你的范围。

mySeq <- mapply(seq, A, B)


dput(mySeq)
# list(1:3, 5:9, 14:22, 24:30)

正如@señor所指出的,如果你想将范围作为单个向量,也可以使用unlist

unlist(mapply(seq, A, B))
# [1]  1  2  3  5  6  7  8  9 14 15 16 17 18 19 20 21 22 24 25 26 27 28 29 30