我有一个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。其他人和我说的一样。
答案 0 :(得分:1)
您可以尝试Map
Map(`:`, b$start, b$end)
如果您需要矩阵输出
mapply(`:`, b$start, b$end)
或者
apply(b, 1, function(x) seq(x[1], x[2]))