【问题标题】:Is there a way to left_join two sequences with various dates so that both appear? [duplicate]有没有办法 left_join 两个具有不同日期的序列,以便两者都出现? [复制]
【发布时间】:2020-08-01 22:20:18
【问题描述】:

我有兴趣组合具有不同日期的两个数据帧,以便对于第一个序列,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 不适用

2018-12-30 不适用 2

等等……

谢谢!!

【问题讨论】:

    标签: r dataframe date dplyr left-join


    【解决方案1】:

    您可能正在寻找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
    #...
    #...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-31
      • 2019-01-10
      • 1970-01-01
      • 2022-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-23
      相关资源
      最近更新 更多