我有两个大表,它们都有一个匹配的列,如下所示:
> head(introns2$Name)
[1] "chr1:12058:12178" "chr1:12228:12612" "chr1:12698:12974" "chr1:12722:13220"
[5] "chr1:13053:13220" "chr1:13375:13452"
> head(sqtl2$cluster_pos)
[1] "chr1:259025:261550" "chr1:804222:807217" "chr1:804222:807217"
[4] "chr1:804222:807217" "chr1:804222:807217" "chr1:804222:807217"
每当我运行以下命令时:
combined <- inner_join(sqtl2, introns2, by=c("cluster_pos"="Name"))
我得到一个combined
有 0 行的表。到目前为止,我已通过设置introns2$Name
为char
type 来确保两列的类型相同:introns2$Name <- sapply(introns2$Name, as.character)
,并且我尝试使用非dplyr
基于的方式来做同样的事情:combined <- merge(x=sqtl2,y=introns3,by.x="cluster_pos", by.y="Name")
我假设这两个表之间有重叠的命中,因为它们来自同一个来源并且每个都很大:
> nrow(introns2)
[1] 357746
> nrow(sqtl2)
[1] 1537363
有什么我忽略的吗?同样,我只想根据在这些列中找到的匹配项将每行的两个表连接在一起。