2016-04-15 115 views
-4

我希望来自两个具有相同名称的列表的comebine数据帧,并在绑定后删除每个数据框中的所有重复行。我试过包'pylr',但它似乎不工作。 的数据帧都具有相同的长度如下:合并来自两个列表的多个配对数据帧

> 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 

> 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

您能否包含您尝试过的内容? – xgord

+0

你的意思是'rbindlist'然后是'unique'吗? – Sotos

回答

1

鉴于你的问题的解释,下面可能工作:

# 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]]))) 

如果此时,您想要将所有data.frames附加到单个data.frame中,您可以再次使用lapply

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

我虚心地想,如果你显示服用newList到data.frame你现在得到Yann家。 – Chris

+0

@克里斯谢谢。我不确定OP是否想要一个附加的data.frame列表或一个单一的大型data.frame,但它不会显示如何获得更大的data.frame。 – lmo

+0

@Imo非常感谢!我只需要这个。它确实帮了很大忙。 –

相关问题