如何匹配R中的所有匹配项? [英] How do I match all occurrences in R?

查看:95
本文介绍了如何匹配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 A And 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中的所有匹配项?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆