2017-05-14 86 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