1

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

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

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

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

做这个的最好方式是什么?我在网站上找不到解决此问题的另一个问题。我尝试了一些使用高阶函数(地图、折叠等)的东西,但它们似乎都只采用一个列表参数。

4

1 回答 1

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
于 2012-12-07T22:29:40.283 回答