2013-10-21 4 views
-1

부분적으로 겹치는 변수를 기반으로 두 데이터 프레임을 병합/일치 시키려합니다.부분적으로 겹치는 변수를 기반으로 두 데이터 프레임 병합/일치

입력 (예) :

Data.frame_A 
X1   X2 X3 
aaa,bbb,ccc 25 AGF 
ddd,eee,fff 23 BGD 


Data.frame_B 
Y1 Y2 
aaa 25 
fff 23 

결과 :

Data.frame_C 
Z1 Z2 Z3 
AGF 25 aaa 
BGD 23 fff 

은 지금까지 나는 어떤 유닉스 명령 및 R (예를 들어, 병합),하지만이 동작하지 않습니다 시도 ...

답변

3

merge이 작동하지

> Data.frame_C <- merge(Data.frame_A, Data.frame_B, by.x="X2", by.y="Y2", sort=FALSE)[, -2] 
> Data.frame_C 
    X2 X3 Y1 
1 25 AGF aaa 
2 23 BGD fff 

기본적으로 위의 Data.frame_C 당신이 원하는,하지만 당신이 정말로 출력이 질문에 표시하려면, 다음 코드의 두 줄 이상이 필요합니다 :

> Data.frame_C <- Data.frame_C[ , c(2,1,3)] 
> colnames(Data.frame_C) <- c("Z1", "Z2", "Z3") 
> Data.frame_C 
    Z1 Z2 Z3 
2 AGF 25 aaa 
1 BGD 23 fff 
관련 문제