2012-05-17 53 views
6

这必须是一个简单的问题,但作为一个R新手我一直无法弄清楚。如何比较R中部分匹配的字符向量

我有两个字符向量,List1和List2,我想知道在List2中还有多少个List1中的样本。但是List2通常有多个名字拼凑在一起,这似乎是在搞乱事情。这里是假设列表:

List1 <- c("SampleX", "SampleY", "SampleZ", "SampleQ") 

List2 <- c("SampleX", "SampleY", "Alias1,Alias2,SampleZ") 

我可以得到一个输出,识别SampleX和SampleY,但不SampleZ。

有什么建议?

谢谢!

+1

你不明白你想要的答案是什么。你想*检测SampleZ?即,如果'f(List1,List2)'的结果是'c(“SampleX”,“SampleY”,“SampleZ”)'? –

回答

8

如何:

List1[sapply(List1,function(x) any(grepl(x,List2)))] 
[1] "SampleX" "SampleY" "SampleZ"