gpt4 book ai didi

r - 通过匹配键合并R中的两个数据帧

转载 作者:行者123 更新时间:2023-12-01 08:00:43 24 4
gpt4 key购买 nike

我有两个数据框 DFS 和 DFE。 DFS 具有一组员工开始工作的开始日期。 DFE 有他们完成工作的结束日期。员工 ID 在两个框架中出现的顺序可能不同。

DFS <- data.frame(ID=c('ID1','ID2','ID3'), begin=c('3/1/06 18:20', '2/1/07 15:30', '5/3/06 9:00'));
DFE <- data.frame(ID=c('ID3', 'ID2','ID1'), end=c('4/1/10 12:00', '6/1/11 14:20', '1/1/09 11:10'));

我想创建一个数据框来匹配每个员工的开始结束日期(例如下面的输出):

DFR <-data.frame(ID=c('ID1','ID2','ID3'), begin=c('3/1/06 18:20', '2/1/07 15:30', '5/3/06 9:00'),
end=c('1/1/09 11:10', '6/1/11 14:20','4/1/10 12:00' ) );

这可以在循环中完成。但是我想知道在 R 中是否有不涉及循环的匹配和合并的替代方法。感谢您的帮助。

最佳答案

merge 做你想做的事。它将创建连接数据的数据框。在这里,您要加入 ID 列,该列由 by 指定。

by 默认为数据框之间列名的交集,所以如果没有其他公共(public)列,则不需要指定。

merge(DFS, DFE, by='ID')
## ID begin end
## 1 ID1 3/1/06 18:20 1/1/09 11:10
## 2 ID2 2/1/07 15:30 6/1/11 14:20
## 3 ID3 5/3/06 9:00 4/1/10 12:00

关于r - 通过匹配键合并R中的两个数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16387784/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com