正则表达式 – 如何匹配R中的所有实例?

前端之家收集整理的这篇文章主要介绍了正则表达式 – 如何匹配R中的所有实例?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个1000名的名单. (说A)
我有另外5个名字的清单. (说B)
我想知道在1000个数字列表中出现5个名称的行号.

例如. Amy可以在A中出现25次
B中有Amy.
我想知道Amy在A中出现了哪些行.

我之前使用过匹配,但是只给出了B中5个名字中每个名字的第一次出现,这不符合我的目的.

我需要在R中做.我对Regex一无所知.

谢谢!

A <- sample(1:10,100,100) ## generate sample data 
 B <- 1:5

 A %in% B
[1] FALSE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE FALSE FALSE FALSE  TRUE  TRUE
[13] FALSE  TRUE FALSE  TRUE  TRUE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
[25] FALSE FALSE  TRUE  TRUE FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE  TRUE
[37] FALSE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE FALSE  TRUE FALSE FALSE
[49]  TRUE FALSE  TRUE  TRUE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE FALSE
[61]  TRUE  TRUE FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE FALSE  TRUE FALSE
[73]  TRUE  TRUE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE
[85]  TRUE  TRUE  TRUE  TRUE FALSE FALSE  TRUE FALSE  TRUE  TRUE  TRUE FALSE
[97] FALSE FALSE FALSE  TRUE

which(A %in% B)
 [1]   2   3   4   5   7  11  12  14  16  17  20  21  22  23  24  27  28  30  31
[20]  36  38  39  40  41  43  44  46  49  51  52  55  56  61  62  67  69  71  73
[39]  74  79  85  86  87  88  91  93  94  95 100


lapply(B,function(x) which(A %in% x)) 
[[1]]
 [1]  5 22 23 36 40 49 69

[[2]]
[1] 21 30 39 44 46 56 61 85 93

[[3]]
[1]  2  7 14 28 38 51 62 73 87 91

[[4]]
 [1]  3  4 11 12 20 24 27 41 43 52 55 71 74 79 88

[[5]]
[1]  16  17  31  67  86  94  95 100

没有lapply,你不知道B中哪个元素是A在哪里?

原文链接:https://www.f2er.com/regex/357262.html

猜你在找的正则表达式相关文章