E’ possibile unire due data frame in R in due modi: orizzontalmente che permette di unire due data frame sommando le colonne o verticalmente che permette di unire due data frame sommando le righe.

Unire due data frame in R per colonne

Per unire due data frames in R (insieme di dati) orizzontalmente (colonne del primo data frames + colonne del secondo data frames), si utilizza la funzione merge().

merge(x, y, by = intersect(names(x), names(y)), by.x = by, by.y = by, all = FALSE, all.x = all, all.y = all, sort = TRUE, suffixes = c(".x",".y"), no.dups = TRUE, incomparables = NULL, ...)

Per eventuali chiarimenti sulla funzione merge() vedi la documentazione R.

Nella maggior parte dei casi, si uniscono due data frames con una o più variabili chiave comuni (cioè un join interno).

# merge two data frames by ID
sumColumns <- merge(data frameA,data frameB,by="ID")

# merge two data frames by ID and Order
sumColumns <- merge(data frameA,data frameB,by=c("ID","Order"))

Unire due Data frame per righe

Per unire due data frames in R (insieme di dati) verticalmente (righe del primo data frames + righe del secondo data frames), si utilizza la funzione rbind().

rbind(..., deparse.level = 1, make.row.names = TRUE, stringsAsFactors = default.stringsAsFactors())

Per eventuali chiarimenti sulla funzione rbind() vedi la documentazione R.

# merge two data frames. 
total <- rbind(data frameA, data frameB)

I due data frames devono necessariamente avere lo stesso numero di colonne, ma non è necessario che siano nello stesso ordine.

Osservazioni: Se il data frames A ha variabili che il data frames B non ha, allora:

• Eliminare le variabili extra ni data frames A oppure creare variabili aggiuntive nel data frames B e impostanto i valori su Na (valori mancanti) prima di unirli tramite rbind().

Guarda tutti i tutorial su Data Management oppure torna su R tutorial.