R 使用semi_join查找相似性,但错误地返回none

R 使用semi_join查找相似性,但错误地返回none,r,dataframe,dplyr,semi-join,R,Dataframe,Dplyr,Semi Join,我试图在两个专栏中找到相似的基因,我可以在以后处理相似的基因。下面是我的代码: 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)` top100_1Beta如果没有完整的工作示例,我

我试图在两个专栏中找到相似的基因,我可以在以后处理相似的基因。下面是我的代码:

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

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

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

我认为您不需要任何形式的
*\u join
;相反,您似乎在寻找
intersect

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

这将返回
grp1_Beta$my_data.SYMBOL
grp1_Beta$my_data.SYMBOL
的前100个条目中的公共条目的
向量;相反,您似乎在寻找
intersect

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

这将返回
grp1_Beta$my_data.SYMBOL
grp1_Beta$my_data.SYMBOL
的前100个条目的公共条目的
vector
向量。SYMBOL

dplyr
术语中,“变量”本质上是一列,而不是一列中的单个值本质上是一列,而不是列中的单个值