组合两个列表中的多个配对数据帧 [英] Combine multiple paired data frames from two lists

查看:195
本文介绍了组合两个列表中的多个配对数据帧的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想要来自两个名称相同的列表的提取数据帧,并在绑定后删除每个数据帧中的所有重复行。我已经尝试了包'pylr',但似乎不起作用。
数据帧的长度与以下相同:

 > summary(ww)
长度类模式
WFGC01 19 data.frame list
WFGC02 19 data.frame list
WFGC03 19 data.frame list
WFGC05 19 data.frame列表
WFGC09 19 data.frame list
WFGC10 19 data.frame list
WFGC13 19 data.frame list
WFGC15 19 data.frame list
WFGC17 19 data.frame列表
WFGC18 19 data.frame list
WFGC19 19 data.frame list
WFGC20 19 data.frame list
WFGC21 19 data.frame list
WFGC22 19 data.frame列表

 code>>总结(dd03)
长度类模式
WFGC02 19 data.frame list
WFGC03 19 data.frame list
WFGC05 19 data.frame list
WFGC07 19 data.frame列表
WFGC10 19 data.frame list
WFGC13 19 data.frame list
WFGC17 19 data.frame list
WFGC18 19 data.frame list
WFGC22 19 data.frame列表
WFGC24 19 data.frame list


解决方案

鉴于您的问题的解释,以下可能有效:

 #获取所有重叠名称
bindNames< - intersect (name(ww),names(dd03))
#获取一个rbinded数据的框架,保持独特的观察
newList< - lapply(bindNames,function(i)unique(rbind(ww [ [i]],dd03 [[i]])))

将所有的数据框架附加到一个数据框架中,您可以再次使用 lapply

  newDataFrame& lt;  -  as.data.frame(lapply(newList,rbind))


I want comebine data frames from two lists with the same name, and delete all repeated rows in each data frame after binding. I have tried the package 'pylr', but it doesn't seem work. The data frames all have the same length as follows:

> 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

and

 > 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

解决方案

Given the explanation of your problem, the following may work:

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

If at this point, you want to append all of your data.frames into a single data.frame, you can once again use lapply.

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

这篇关于组合两个列表中的多个配对数据帧的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆