그래서 다른 차원의 데이터 프레임이 두 개 있습니다.열 값이 다른 데이터 프레임의 열 값과 일치하지 않는 데이터 프레임에서 행을 제거하십시오 - R
가Year ID Number
2008.1 38573 1
2008.2 24395 3
(들 사이에서 많은 양의 데이터)
2008.4 532 4
두번째, X2는 약 80,000이다
첫번째, X는 약 10,000 행 긴 모양처럼 행 길이 보이는 같은 :
Year ID Number
2008.1 38573 2
2008.2 24395 3
(그 사이에 많은 양의 데이터)
,536,913,632 10기본적으로 행의 연도, ID 및 숫자 값이 첫 번째 데이터 프레임의 모든 행과 일치하지 않는 조건을 만족하는 두 번째 데이터의 행을 제거하려고합니다. 그래서 위의 예에서 Number가 일치하지 않기 때문에 두 번째 데이터 프레임에서 행 1을 제거합니다.
x2new <- x2[(x2$ID == x$ID && x2$Year==x$Year && x2$Number == x$Number),]
을하지만 두 개의 데이터 프레임의 길이가 다르기 때문에 작동하지 않습니다 :
은 내가 시도했습니다.
나는 3 개의 조건을 모두 가지고 있지 않은 행을 제거하기 위해 double for 루프를 시도했지만, R은 단순히 많은 반복을 할 수 없습니다.
도와주세요! 감사.
당신은 대신'&'의'&&'사용하기 때문에 코드의 회선이 작동하지 않는 이유는 단순한 재현 예를 – Nishanth
를 제공 할 수 있습니다. R에서'? '&''를보세요. 즉, 10k * 80k 쌍의 행이있을 때 이러한 일련의 검색을 피하는 것이 가장 좋습니다. @agstudy가 제안한대로 '병합'은 아마도 당신이 찾고있는 것일 것입니다. –