对不起,标题不是最好的。我不确定如何正确地说明这一点。
我正在使用dpylr进行一些过滤。因此,为了提供一些背景知识,df1
是所有人类基因的列表。 df2
列出了某种途径中涉及的基因。为我提供df2
列表的软件并不总是使用df1中正确的基因名称,因此当我使用此过滤器时它们会被跳过
filtered <- df1 %>%
filter(gene.name %in% df2$V1)
因此,我缺少了一些我感兴趣的数据。我想知道是否存在一种方法,可以将称为filtered
和df2
的新df与一些标记出唯一差异的代码进行比较? filtered
数据帧的大部分将与df2
相同,但是df2
仅具有不正确的基因名称。我要这样做的原因是因为我想返回并更正基因名称。我df1和df2比示例大得多,因此不容易理解。
这里是我所说的例子,所以也许更有意义
df1
gene.name
ADCY1
ADCY2
ADCY3
ADCY4
df2
gene.name
AC1
ADCY2
AC3
ADCY4
已过滤
gene.name
ADCY2
ADCY4
答案 0 :(得分:1)
获得非内置功能的另一种有趣方式是编写
之类的小功能。'%notin%' <- function(x,y)!('%in%'(x,y))
然后,您可以以一种整洁的方式得到答案:
unique_differences<-df2
%>% filter(gene.name %notin% unlist(df1))