我有2个包含基因登录代码的列表,我试图在一个列表中搜索其他列表的任何值。这些列表也以txt文件形式存在。我试过在R和unix中都使用grep,但这似乎不起作用,是否有其他我可以使用的命令,而不必在unix中使用awk。无论我使用什么,都必须搜索list1中的任何项,即1111或2222或3333或4444,我不需要全部匹配。
R
list1=c("1111","2222","3333",4444")
list2=c("0000","0001","1111","0002","0003","0004")
grep(list1,list2)
integer(0)
Unix
grep -F -f "list1.txt" "list2.txt"
答案 0 :(得分:0)
%in%
运算符将告诉您第一个列表中哪些值(从逻辑上看)在第二个列表中的某个地方找到。
match
函数将告诉您第一列表中每个元素在第二个列表中的何处,对于不在第二列表中的元素,它们NA
被发现:
list1 %in% list2
# [1] TRUE FALSE FALSE FALSE
match(list1, list2)
# [1] 3 NA NA NA