2012-05-17 16 views
6

To musi być proste pytanie, ale jako nowicjusz R nie byłem w stanie zrozumieć.Jak gildie wektory ciągu znaków w R

Mam dwa wektory znakowe, Lista1 i Lista2, i chciałbym wiedzieć, ile próbek na liście 1 znajduje się również na liście2. Ale List2 często składa się z wielu nazw, co wydaje się być kłopotliwe. Oto hipotetyczne wykazy:

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

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

mogę uzyskać wyjście, które identyfikuje SampleX i SampleY, ale nie SampleZ.

Jakieś sugestie?

Dzięki!

+1

Nie jest całkiem jasne, na czym chcesz odpowiedzieć. Czy * chcesz * wykrywać SampleZ? to znaczy, jeżeli wynik 'f (List1, LiSt2)' być 'c ("SampleX", "SampleY", "SampleZ") '? –

Odpowiedz

8

Jak o:

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

?

Powiązane problemy