gpt4 book ai didi

regex - 如何匹配R中的所有匹配项?

转载 作者:行者123 更新时间:2023-12-04 14:45:19 24 4
gpt4 key购买 nike

我有1000个名字的 list 。 (说A)
我还有5个名字的 list 。 (例如B)
我想找出这5个名字在1000号列表中出现在哪一行。

例如。艾米可以在A中发生25次
B中有Amy。
我想知道Amy出现在哪几行。

我之前使用过match,但是这只给出了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

没有不适,您不知道B的哪个元素在A中的位置上吗?

关于regex - 如何匹配R中的所有匹配项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21947086/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com