2016-04-15 16 views
-4

Ich möchte combine Datenrahmen aus zwei Listen mit dem gleichen Namen, und löschen Sie alle wiederholten Zeilen in jedem Datenrahmen nach der Bindung. Ich habe das Paket 'pylr' versucht, aber es scheint nicht funktionieren. Die Datenrahmen alle die gleiche Länge haben wie folgt:Kombinieren Sie mehrere gepaarte Datenrahmen aus zwei Listen

> summary(ww) 
     Length Class  Mode 
WFGC01 19  data.frame list 
WFGC02 19  data.frame list 
WFGC03 19  data.frame list 
WFGC05 19  data.frame list 
WFGC09 19  data.frame list 
WFGC10 19  data.frame list 
WFGC13 19  data.frame list 
WFGC15 19  data.frame list 
WFGC17 19  data.frame list 
WFGC18 19  data.frame list 
WFGC19 19  data.frame list 
WFGC20 19  data.frame list 
WFGC21 19  data.frame list 
WFGC22 19  data.frame list 

und

> summary(dd03) 
     Length Class  Mode 
WFGC02 19  data.frame list 
WFGC03 19  data.frame list 
WFGC05 19  data.frame list 
WFGC07 19  data.frame list 
WFGC10 19  data.frame list 
WFGC13 19  data.frame list 
WFGC17 19  data.frame list 
WFGC18 19  data.frame list 
WFGC22 19  data.frame list 
WFGC24 19  data.frame list 
+0

Können Sie einen Ausschnitt dessen hinzufügen, was Sie versucht haben? – xgord

+0

meinst du 'rbindlist' und dann' unique'? – Sotos

Antwort

1

die Erklärung des Problems gegeben, kann die folgende Arbeiten: an dieser Stelle

# get all overlapping names 
bindNames <- intersect(names(ww), names(dd03)) 
# get a list of rbinded data.frames, keeping unique observations 
newList <- lapply(bindNames, function(i) unique(rbind(ww[[i]], dd03[[i]]))) 

Wenn Wenn Sie alle data.frames an einen data.frame anhängen möchten, können Sie erneut lapply verwenden.

newDataFrame <- as.data.frame(lapply(newList, rbind)) 
+1

Ich denke demütig, wenn Sie newList auf data.frame zeigen, bekommen Sie Yann für den Moment nach Hause. – Chris

+0

@Chris Danke. Ich war mir nicht sicher, ob das OP eine Liste mit angehängten Datenrahmen oder einem einzelnen großen Datenrahmen wollte, aber es würde nicht schaden, zu zeigen, wie man größere Datenfelder erhält. – lmo

+0

@Imo Vielen Dank! Ich brauche das nur. Es hat mir sehr geholfen. –

Verwandte Themen