合并来自两个列表的多个配对数据帧

时间:2016-04-15 14:11:44

标签: r list dataframe merge

我想从两个具有相同名称的列表中获取相似的数据帧,并在绑定后删除每个数据帧中的所有重复行。我试过了'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

1 个答案:

答案 0 :(得分: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))