2017-05-14 41 views
-1

我有两个Excel文件包含数据 第一个Excel文件是这样的: frequency.xlsxR:有条件的最后一列值的基础上删除行R中

和第二的Excel文件包含数据: interval.xlsx

intervalStart intervalEnd 
1     10 
11    20 
31    40 
51    70 

现在我想写入该读出的第一行从interval.xlsx文件A R代码和在第一文件(frequency.xlsx),在最后一列的每个值进行比较(即第8栏)值和删除整个行如果值介于intervalStart和intervalEnd之间。

例如, 阅读interval.xlsx即1和10 现在frequency.xlsx的最后一列检查每一个值,如果值是1和10之间删除整个行,否则继续第一行。 再次读取interval.xlsx的第二行,并继续

所以请大家帮我

回答

0

Bioconductor的包IRanges有很多功能与范围的工作:

require(IRanges) 
a<-data.frame(start=c(1,11,31,51), 
      end=c(10,20,40,70)) 
aranges <- IRanges(a$start,a$end) 

b <- data.frame(Col1=sample(LETTERS,75, replace=T), 
       Col2 = 1:75) 
branges <- IRanges(b$Col2, b$Col2) 

b[!overlapsAny(branges,aranges),] 
# Col1 Col2 
# 21 R 21 
# 22 G 22 
# 23 I 23 
# 24 H 24 
# 25 G 25 
# 26 I 26 
# 27 V 27 
# 28 T 28 
# 29 Z 29 
# 30 E 30 
# 41 H 41 
# 42 J 42 
# 43 A 43 
# 44 N 44 
# 45 H 45 
# 46 P 46 
# 47 T 47 
# 48 L 48 
# 49 P 49 
# 50 U 50 
# 71 U 71 
# 72 B 72 
# 73 K 73 
# 74 R 74 
# 75 Y 75 
+0

解决方案不明确 –

+0

请更具体 – Osdorp