我有两个整数向量,如下:
c(1,5,14,24)
c(3,9,22,30)
我需要从这些构造包含每个值之间的范围的向量,连接在一起,如下所示:
c(1:3,5:9,14:22,24:30)
最好的方法是什么?我在网站上找不到另一个问题。我尝试了一些使用高阶函数(Map,Fold等)的东西,但它们似乎只有一个列表参数。
答案 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