如何删除一行的开头和结尾与同一个chr中的其他行重叠的行? -
R_level logp chr start end CNA Gene
2 7.0 1 1159 4360 gain Recl,Bcl
1 2.4 1 1101 3689 gain Bc1
4 1.9 2 7180 9229 loss Sox1,Tert
2 4.5 2 8159 8360 loss Sox1
1 2.9 2 9154 10588 loss Pekg
我想输出像这样的东西
R_level logp chr start end CNA Gene
2 7.0 1 1159 4360 gain Recl,Bcl
4 1.9 2 7180 9229 loss Sox1,Tert
1 2.9 2 9154 10588 loss Pekg
答案 0 :(得分:2)
由于这似乎是生物学,您可以使用IRanges
中的Bioconductors
包:
source("http://bioconductor.org/biocLite.R")
biocLite("IRanges")
library(IRanges)
df<-yourDataFrame
data<-RangedData(IRanges(df$start,df$end),df[,-c(3,4,5)],space=df$chr)
data[!(countOverlaps(data,type=c("within"))@unlistData>1),]