【问题标题】:R generation of sequences from 2 columns data frame [duplicate]R从2列数据帧生成序列[重复]
【发布时间】:2015-03-23 12:05:30
【问题描述】:

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

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

数据:

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。其他的和我展示的一样。

【问题讨论】:

  • 好的,谢谢。我想要您链接的问题的相同输出。我在论坛上搜索找不到那个问题。

标签: r dataframe sequence


【解决方案1】:

你可以试试Map

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

如果需要矩阵输出

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

或者

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-20
    • 1970-01-01
    相关资源
    最近更新 更多