【发布时间】:2020-07-08 09:18:14
【问题描述】:
我目前正在处理具有从 str_locate_all() 返回的各种值的项目列表。它返回一个看起来像这样的列表
library(stringr)
location <- str_locate_all(pattern = matched_query, query_string)
location
[[1]]
start end
[1,] 1 3
[[2]]
start end
[1,] 2 4
[2,] 11 13
[3,] 221 223
[[3]]
start end
[1,] 12 14
[2,] 222 224
[[4]]
start end
[1,] 20 22
我想对列表进行子集化以获取和分离“开始”和“结束”下的所有值。
c(1,2,11,221,12,222,20)
c(3,4,13,223,14,224,22)
当我取消列出它们时,具有多个匹配项的组不会保留“开始”“停止”“开始”“停止”模式 - 它们具有“开始”“开始”“停止”“停止”模式。
到目前为止我已经尝试过:
sapply(location,'[[',1)
1 2 12 20
lapply(query_wordsize_location,'[[',1)
[[1]]
[1] 1
[[2]]
[1] 2
[[3]]
[1] 12
[[4]]
[1] 20
location[[1]][,1]
start
1
location[[1:4]][,1]
Error in location[[1:4]] :
recursive indexing failed at level 2
我可以让它与循环一起工作,但我试图避免这种情况,因为它是一个相当大的列表。
【问题讨论】:
-
do.call(rbind, location)?