2017-05-14 1 views
-1

에서 마지막 열 값을 기준으로 행을 삭제 첫 번째 엑셀 파일과 같은 것입니다 : frequency.xlsxR : 조건부 나는 두 개의 엑셀 파일 데이터가 포함되어있는 R

과 두 번째 파일에 포함 된 엑셀 데이터 : interval.xlsx

intervalStart intervalEnd 
1     10 
11    20 
31    40 
51    70 

지금 내가 interval.xlsx 파일에서 첫 번째 행을 읽기 R 코드를 작성하고 마지막 열의 각 값을 첫 번째 파일 (frequency.xlsx)에서 (즉 내지 컬럼 8) 값을 비교하고 전체 행을 삭제하려면 값이 intervalStart와 intervalEnd 사이에 있으면

예 : 값은 1 내지 10 행 전체 달리 계속 삭제할 경우 1-10 지금 frequency.xlsx의 마지막 열에서 각 값을 확인 interval.xlsx 즉 첫 번째 행을 판독. 다시 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