我在R中列出了以下 list :
start <- c(1, 5, 11)
end <- c(2, 9, 13)
如何以这种方式连接它们以生成非连续范围的列表:
c(1:2, 5:9, 11:13)
个
我在R中列出了以下 list :
start <- c(1, 5, 11)
end <- c(2, 9, 13)
如何以这种方式连接它们以生成非连续范围的列表:
c(1:2, 5:9, 11:13)
个
试一试Map
> Map(`:`, start, end)
[[1]]
[1] 1 2
[[2]]
[1] 5 6 7 8 9
[[3]]
[1] 11 12 13
或再加上unlist
> unlist(Map(`:`, start, end))
[1] 1 2 5 6 7 8 9 11 12 13
一种更有效的方法可能是使用sequence
> sequence(end - start + 1, start)
[1] 1 2 5 6 7 8 9 11 12 13