【发布时间】:2014-12-17 02:20:09
【问题描述】:
我有兴趣在 R 中合并两个数据框。我想按日期和第二个 ID 变量合并。例如,创建两个有一些但不完全重叠的数据帧(df1 和 df2):
df1 <- data.frame(ID=c(rep(1,5),rep(2,3),rep(3,7)),
Date=c(seq( as.Date("2011-07-01"), by=1, len=5),
seq( as.Date("2011-07-01"), by=1, len=3),
seq( as.Date("2011-07-01"), by=1, len=7)))
df2 <- data.frame(ID=c(rep(1,3),rep(2,2),rep(3,7)),
Date=c(seq( as.Date("2011-07-01"), by=1, len=3),
seq( as.Date("2011-07-01"), by=1, len=2),
seq( as.Date("2011-07-01"), by=1, len=7)),
var=c(rep(12,3),rep(5,2),rep(9,7)))
产量:
> df1
ID Date
1 1 2011-07-01
2 1 2011-07-02
3 1 2011-07-03
4 1 2011-07-04
5 1 2011-07-05
> df2
ID Date var
1 1 2011-07-01 12
2 1 2011-07-02 12
3 1 2011-07-03 12
4 2 2011-07-01 5 , etc..
我想要 join_all(type="full") 或 merge(all=TRUE) 的等效项,以便在不可能重叠时出现 NA。我希望匹配具有相同 ID 和日期的案例。
> df3
ID Date var
1 1 2011-07-01 12
2 1 2011-07-02 12
3 1 2011-07-03 12
4 1 2011-07-04 NA
5 1 2011-07-05 NA, etc.
谢谢!
【问题讨论】: