0

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

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)`

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

错误:by必需,因为数据源没有公共变量

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

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

4

2 回答 2

2

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

于 2018-11-30T03:01:37.567 回答
2

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

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

这将返回 和 的前 100 个条目中的 a ofvector常见条目。grp1_Beta$my_data.SYMBOLgrp1_Beta$my_data.SYMBOL

于 2018-11-30T03:05:16.607 回答