R生成序列来自2列数据帧

时间:2015-03-23 12:05:30

标签: r dataframe sequence

我有一个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。其他人和我说的一样。

1 个答案:

答案 0 :(得分:1)

您可以尝试Map

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

如果您需要矩阵输出

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

或者

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