두 개의 데이터 프레임이 있습니다. 하나는 거대 (2 백만 행 이상)이고 다른 하나는 더 작습니다 (약 300,000 행). 더 작은 데이터 프레임은 더 큰 데이터 프레임의 서브 세트입니다. 유일한 차이점은 더 큰 것은 더 작은 속성에 추가해야하는 추가 속성입니다.2 개의 데이터 프레임을 병합하고 일치하지 않는 행을 삭제합니다.
특히 큰 데이터 프레임의 특성은 (날짜, 시간, 주소, 플래그)이며 작은 데이터 프레임의 특성은 (날짜, 시간, 주소)입니다. 각 행에 대해 더 작은 데이터 프레임에 올바른 대응하는 Flag 값을 가져와야합니다. "병합 된"데이터 프레임의 최종 크기는 큰 데이터 프레임에서 사용하지 않는 행을 삭제하여 내 작은 데이터 프레임과 동일해야합니다.
이 작업을 수행하는 가장 좋은 방법은 무엇입니까?
업데이트 :
new<-merge(data12, data2, by.x = c("Date", "Time", "Address"),
by.y=c("Date", "Time", "Address"))
및
new<-merge(data12, data2, by = c("Date", "Time", "Address"))
모두
다음뿐만 아니라 속성의 오른쪽 번호 빈 데이터 프레임 (새)을 반환 : 나는 다음과 병합 기능을 테스트 경고 메시지 :Warning message:In `[<-.factor`(`*tmp*`, ri, value = c(15640, 15843, 15843, 15161, : invalid factor level, NAs generated
'기본적으로 merge'이 행만 반환의 성능입니다 DF2하는 rbinom을 추가하고 싶습니다 두 입력에 의해 매치된다. –
병합을 사용하면 반환 된 데이터 프레임의 크기가 더 작은 데이터 프레임과 같을까요? – whistler
글쎄요, 더 큰 것에서 약간의 정보를 얻을 수 있습니다. 왜 합치면 좋을까요? '? merge'를보십시오 –