合并来自两个列表的多个配对数据帧
问题描述:
我希望来自两个具有相同名称的列表的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
答
鉴于你的问题的解释,下面可能工作:
# 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))
您能否包含您尝试过的内容? – xgord
你的意思是'rbindlist'然后是'unique'吗? – Sotos