2016-09-20 2 views
0

아래에는 세 개의 큰 데이터 프레임이 있으며 순서가있는 하나의 데이터 프레임으로 병합하려고합니다. 어떤 권고가 R은 순서가 다른 열과 데이터 프레임을 병합합니다.

df 1: 
First Name Last Name 
John  Langham 
Paul  McAuley 
Steven  Hutchison 
Sean  Hamilton 
N   N 

df2: 
First Name Wage Location 
John  500  HK 
Paul  600  NY 
Steven  1900 LDN 
Sean  800  TL 
N   N  N 

df3: 
Last Name Time 
Langham  8 
McAuley  9 
Hutchison 12 
Hamilton 7 
N   N 

desired output: 
First Name Last Name Wage Location Time 
John  Langham  500  HK   8 
Paul  McAuley  600  NY   9 
Steven  Hutchison 1900 LDN   12 
Sean  Hamilton 800  TL   7 
N   N   N  N   N 

내가 원하는 출력의 순서를 변경 두 번째 열을 기준으로 DF3하는 DF1 및 DF2하지만 DF1 + 2 병합을 병합하는 방법을 알고, 그래서 내가 물어보고 싶은? 고맙습니다. 당신이 df1에 표시되는 순서를 유지하려는 경우

+1

[동시에 목록에서 여러 data.frames 병합]의 사용 가능한 복제 (http://stackoverflow.com/questions/8091303/simultaneously-merge-multiple-data-frames-in -a-list) –

+0

(이 내용은 복제본입니다. t 그의 질문은 링크 된 질문 에서처럼 다중 병합을 성취하는 방법이 아니라 특정 순서로 여러 병합의 최종 결과를 얻는 것에 관한 것입니다. – arvi1000

답변

2

, 당신은 당신이 다음도 할 수 원하는 경우 df3

# record order 
df1$original_order <- 1:nrow(df1) 

# then do your merges... 
# ... 

# then restore the df1 order to df3 
df3 <- df3[order(df3$original_order),] 

의 순서를 설정하는 데 다시 사용 순서를 기념하기 위해 열을 생성 해당 열을 제거 :

df3$original_order <- NULL 
관련 문제