本文介绍了如何匹配R中的所有匹配项?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have a list of 1000 names. (say A)I have another list of 5 names. (say B)I want to find out at which row number the 5 names occur in the 1000 number list.

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

eg. Amy can occur 25 times in AAnd there is Amy in B.I want to know which rows Amy occurs in A.

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

I have used match before, but that only gives the first occurrences of each of the 5 names in B which doesn't serve my purpose.

我需要在R中执行此操作.我对Regex一无所知.

I need to do it in R. I don't know anything about 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中的位置上吗?

without lapply, you dont know which element of B is where in A from this do you?

这篇关于如何匹配R中的所有匹配项?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-29 18:42
查看更多