2012-05-17 32 views
6

Đây phải là một câu hỏi đơn giản, nhưng với tư cách là một R mới, tôi đã không thể tìm ra nó.Cách so sánh các vectơ ký tự cho các kết quả khớp một phần trong R

Tôi có hai ký tự vectơ, List1 và List2, và tôi muốn biết có bao nhiêu mẫu trong List1 cũng được tìm thấy trong List2. Nhưng List2 thường có nhiều tên đặt cùng nhau mà dường như là những thứ rối tung lên. Dưới đây là danh sách giả định:

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

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

Tôi có thể nhận được đầu ra xác định SampleX và SampleY, chứ không phải SampleZ.

Mọi đề xuất ??

Cảm ơn !!

+1

Không rõ ràng bạn muốn câu trả lời là gì. Bạn có muốn * phát hiện SampleZ không? tức là, kết quả của 'f (List1, List2)' là 'c (" SampleX "," SampleY "," SampleZ ")'? –

Trả lời

8

Làm thế nào về:

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

?

Các vấn đề liên quan