2014-02-02 3 views
2

Предположим, что у меня есть два кадра данных, DAT1 и dat2,Объединение кадров данных с неравным числом столбцов

Dat1 
Col1 Col2 Col3 
A1 56 89 

и

Dat2 
Col1 Col2 Col4 Col5 
A2 49 84 F11 

Наконец, я хочу, чтобы иметь комбинированный кадр данных, который выглядит как

Col1 Col2 Col3 Col4 Col5 
A1 56 89 NA NA 
A2 49 NA 84 F11 

Можно ли достичь этого в R?

ответ

5

Там также rbind.fill из plyr или Stack.

library(plyr) 

rbind.fill(Dat1, Dat2) 

## Col1 Col2 Col3 Col4 Col5 
## 1 A1 56 89 NA <NA> 
## 2 A2 49 NA 84 F11 

library(Stack) 

Stack(Dat1, Dat2) 

## Col1 Col2 Col3 Col4 Col5 
## 1 A1 56 89 NA <NA> 
## 2 A2 49 NA 84 F11 
4

Вы хотите слиться с all=TRUE:

merge(Dat1,Dat2,all=TRUE) 
    Col1 Col2 Col3 Col4 Col5 
1 A1 56 89 NA <NA> 
2 A2 49 NA 84 F11 

Col5 показывает <NA> вместо NA, потому что в режиме factor

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