使用 semi_join 找到相似之处但 returns none 错误

Using semi_join to find similarities but returns none mistakenly

我试图在两列之间找到相似的基因,以后我可以只使用这些相似的基因。下面是我的代码:

top100_1Beta <- data.frame(grp1_Beta$my_data.SYMBOL[1:100])
top100_2Beta<- data.frame(grp2_Beta$my_data.SYMBOL[1:100])
common100_Beta <- semi_join(top100_1Beta,top100_2Beta)`

当我 运行 代码时,出现以下错误:

Error: by required, because the data sources have no common variables

这是错误的,因为当我打开 top100_1Betatop100_2Beta 时,我至少可以看到前几个列出了完全相同的基因:ATP2A1、SLMAP、MEOX2...

我很困惑为什么它返回没有共同点。 任何帮助将不胜感激。 谢谢!

没有完整的工作示例,我猜测您的 top100_1Beta 和 top100_2Beta 数据框没有相同的列名。他们可能是 grp1_Beta.my_data.SYMBOL.1.100.grp2_Beta.my_data.SYMBOL.1.100.。这意味着 semi_join 函数不知道在哪里匹配数据帧。重命名列应该可以解决问题。

我认为您在这里不需要任何形式的 *_join;相反,您似乎在寻找 intersect

intersect(grp1_Beta$my_data.SYMBOL[1:100], grp2_Beta$my_data.SYMBOL[1:100])

returns vector grp1_Beta$my_data.SYMBOLgrp1_Beta$my_data.SYMBOL 的前 100 个条目中的共同条目。