是否有一种方法可以将具有不同日期的两个序列left_join在一起,以便它们都出现?

问题描述 投票:0回答:1

我有兴趣组合两个日期不同的数据帧,以便在第一个序列中,NA出现在没有条目的地方,类似地,在第二个序列中也会发生这种情况。

library(lubridate)
library(dplyr)

dates <- seq(as.Date("2019-01-01"),floor_date(Sys.Date(), "month"),"months")-1
seq <- rep(c(1),length(dates))
df1 <- cbind.data.frame(dates,seq)

dates <- seq(as.Date("2019-01-01"),floor_date(Sys.Date(), "month"),"months")-2
seq <- rep(c(2),length(dates))
df2 <- cbind.data.frame(dates,seq)

DF <- left_join(df1,df2,by="dates")

我得到的是DF的第三行是NA。所需的输出将是:

2018-12-31 1 NA

2018-12-30 NA 2

依此类推...

谢谢!

r dataframe date dplyr left-join
1个回答
0
投票

您可能正在寻找full_join

library(dplyr)
full_join(df1,df2, by="dates") %>% arrange(dates)

#        dates seq.x seq.y
#1  2018-12-30    NA     2
#2  2018-12-31     1    NA
#3  2019-01-30    NA     2
#4  2019-01-31     1    NA
#5  2019-02-27    NA     2
#6  2019-02-28     1    NA
#...
#...
© www.soinside.com 2019 - 2024. All rights reserved.