我无法"解卷积";Str_locate_all输出,以便获得模式中涉及的所有索引(不仅仅是开始和结束)。
下面是我得到的str_locate_all()的输出类型:
[1]]
start end
[1,] 4 7
[[2]]
start end
[1,] 8 12
[2,] 30 33
和我想如何改变它:
[[1]]
[1] 4 5 6 7
[[2]]
[1] 8 9 10 11 12 30 31 32 33
提前感谢!
您可以遍历列表,然后遍历每一行以创建序列。
x <- list(matrix(c(4, 7), ncol = 2, dimnames = list(NULL, c("start", "end"))),
matrix(c(8, 30, 12, 33), ncol = 2, dimnames = list(NULL, c("start", "end"))))
这里以r为基数。
lapply(x,
function(y) unlist(apply(y, 1,
function(z) seq(z[1], z[2]), simplify = FALSE)))
给出期望的结果。
[[1]]
[1] 4 5 6 7
[[2]]
[1] 8 9 10 11 12 30 31 32 33