2014-06-12 4 views
29

Я пытаюсь LEFT JOIN 2 кадра данных, но я не хочу объединить все переменные из второго набора данных:LEFT JOIN только выбранные столбцы в R с слиянием() функции

В качестве примера, у меня есть Набор данных 1 (DF1):

Cl Q Sales Date 
    A 2 30  01/01/2014 
    A 3 24  02/01/2014 
    A 1 10  03/01/2014 
    B 4 10  01/01/2014 
    B 1 20  02/01/2014 
    B 3 30  03/01/2014 

И я хотел бы оставил присоединиться набор данных 2 (DF2):

Client LO CON 
    A 12 CA 
    B 11 US 
    C 12 UK 
    D 10 CA 
    E 15 AUS 
    F 91 DD 

Я могу налево присоединиться к следующим кодом:

слияния (х = DF1, у = DF2, с = "Клиент", all.x = TRUE):

Client Q Sales Date    LO  CON 
    A  2 30  01/01/2014  12  CA 
    A  3 24  02/01/2014  12  CA 
    A  1 10  03/01/2014  12  CA 
    B  4 10  01/01/2014  11  US 
    B  1 20  02/01/2014  11  US 
    B  3 30  03/01/2014  11  US 

Тем не менее, как сливается столбца LO и CON. Я хотел бы просто объединить столбец LO.

Client Q Sales Date    LO  
    A  2 30  01/01/2014  12  
    A  3 24  02/01/2014  12  
    A  1 10  03/01/2014  12  
    B  4 10  01/01/2014  11  
    B  1 20  02/01/2014  11  
    B  3 30  03/01/2014  11  
+0

вам нужно переименовать «Cl «в« Клиент »в DF1 (в приведенном выше примере). В противном случае функция слияния не работает. –

ответ

57

Вы можете сделать это Подменят данные вы передаете в ваше слияние:

merge(x = DF1, y = DF2[ , c("Client", "LO")], by = "Client", all.x=TRUE) 

Или вы можете просто удалить столбец после текущего слияния :)

+1

Помня, что вам нужно включить переменную, которую вы объединяете –

Смежные вопросы