首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较两个列表,创建新列,并将1分配给匹配数据(RNA-seq基因)

比较两个列表,创建新列,并将1分配给匹配数据(RNA-seq基因)
EN

Stack Overflow用户
提问于 2022-10-18 10:35:01
回答 1查看 30关注 0票数 1

我有两个数据:

  • df1:大数据框架,包含约20000个基因
  • df2的基因列表:小基因列表(例如50个基因)。

现在我想找出来自df2的哪些基因存在于df1中,在df1中添加一个新的列,用1标记/高亮显示匹配的基因,用0标记不匹配的基因。

我通常使用子集函数来找出列表中有哪些基因。我还知道如何创建一个只有匹配的基因等的新表,但是我真的不知道如何在同一个文件中“标记它们”,因此我想添加一个1或0的列。但也可以是对的,也可以是假的。

我希望我自己解释一下,如果不是这样的话,让我知道

谢谢你,洛尔

EN

回答 1

Stack Overflow用户

发布于 2022-10-24 07:36:11

使用%in%,然后转换为整数:

代码语言:javascript
复制
df1$match <- as.integer(df1$gene %in% df2$gene)

注意jay.sf提到的注意事项

在%中使用%时要小心,如果有NA,它会产生意想不到的结果。在% 1中尝试NA %,它应该给NA,但给假。

%in%是一个很好的特性。然而,它通常被推荐作为==的多元替代。这是一个难题;在==产生NA的地方,%in%不会,通过不知情,天真的用户可能会无中生有地产生观察。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74109531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档