2010-11-10 3 views
17

Le mie domande sono come possono unire due o più frame di dati nel sistema R?unire due o più frame di dati nel sistema R

Ad esempio:

Ho due frame di dati:

primi:

x y z 
1 3 2 4 
2 4 5 7 
3 5 6 8 

secondo:

x y z 
1 1 1 1 
2 4 5 7 

Ho bisogno di questo:

x y z 
1 3 2 4 
2 4 5 7 
3 5 6 8 
4 1 1 1 
5 4 5 7 

Ho cercato di utilizzare accodare per ogni vettore, in questo modo:

for (i in 1: lunghezza (prima)) {

mix[[i]]<-append(first[i], second[i])} 

f < -do.call (rbind, mescolare)

Ma non ha funzionato come avevo bisogno. Non ho avuto la mia matrice, ho avuto una struttura diversa.

+0

Domande correlate: http://stackoverflow.com/questions/2851327/r-converting-a-list-of-data-frames-into-one-data-frame, http://stackoverflow.com/questions/ 2209258/unione-più-data-frame-in-one-data-frame-con-a-loop, http://stackoverflow.com/questions/1299871/how-to-join-data-frames-in-r- inner-outer-left-right, http://stackoverflow.com/questions/2392915/recombining-a-list-of-data-frames-into-a-single-data-frame, ... –

risposta

24

Hai l'idea giusta usando rbind(), ma è molto più semplice. Se i frame di dati sono denominati "first" e "second":

f <- rbind(first, second) 

E f è il nuovo frame di dati.

+0

Grazie) Questo è funziona alla grande. – olga