【发布时间】:2018-06-11 14:47:22
【问题描述】:
我有很多大型数据框。我想让第一列相同,第二列的差异在两个数据帧之间小于 5000。 如:
>a
chr pos
chr2 10000
chr2 20000
chr2 45000
chr2 60000
chr2 80000
chr2 100000
>b
chr pos
chr2 10000
chr2 30000
chr2 40000
chr2 55000
chr2 80000
我的预期结果:
>c
chr pos
chr2 10000
chr2 45000
chr2 60000
chr2 80000
我试过了:
c<-data.frame(chr=0, pos=0)
for (i in 1:nrow(b)) {
c1<-a[(a$chr %in% b[i, 1]) & abs(a$pos-b[i, 2])<=5000, ]
c<-rbind(c, c1)
}
c<-c[-1, ]
但它太慢而且效率太低。 我希望能有更好的方法。 提前感谢!
【问题讨论】:
标签: r