我有一个1000名的名单. (说A)
我有另外5个名字的清单. (说B)
我想知道在1000个数字列表中出现5个名称的行号.
我有另外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在哪里?