R从2列数据框生成序列

R generation of sequences from 2 columns data frame

我有一个 data.frame 由 2 列组成,其中第一列代表序列的起始编号,第二列代表同一序列的结束编号。

对于每一行,我想生成一个我刚才描述的序列。

数据:

structure(list(start = c(3, 6, 9, 12, 15, 18, 21, 24, 27, 30), 
end = c(7, 10, 13, 16, 19, 22, 25, 28, 31, 34)), .Names = c("start", "end"), row.names = c(NA, -10L), class = "data.frame")

> b
   start end
1      3   7
2      6  10
3      9  13
4     12  16
5     15  19
6     18  22
7     21  25
8     24  28
9     27  31
10    30  34

我认为一个简单的

seq(b[,1],b[,2])

应该可以,但不是。

我想要的结果是一个序列列表,因此在本例中是 10 个列表(或另一个容器)。例如,第一个序列应该是:3,4,5,6,7。其他的和我展示的一样

你可以试试Map

Map(`:`, b$start, b$end)

如果需要矩阵输出

mapply(`:`, b$start, b$end)

或者

apply(b, 1, function(x) seq(x[1], x[2]))