【发布时间】:2020-06-03 16:11:10
【问题描述】:
我正在尝试使用 dplyr 在两个数据帧之间执行条件左连接。我的第一个数据框 df1:
ID Start Date End Date
1 1-1-2000 4-1-2020
我的第二个数据框,df2:
ID START_DT END_DT Name
1 2-3-2002 3-1-2020 John Smith
1 4-2-2004 4-1-2021 Karen Anderson
我正在尝试加入 ID,其中开始日期 > START_DT AND 结束日期
ID START_DT END_DT Name Start Date End Date
1 2-3-2002 3-1-2020 John Smith 1-1-2000 4-1-2020
我试过了,但报错
new_df <- left_join(df2, df1, by = "ID") %>%
subset(subset(new_df, `Start Date` > START_DT & `End Date` <= END_DT))
我也试过只做连接然后子集,这给了我
Warning messages:
1: In eval(e, x, parent.frame()) :
Incompatible methods (">.POSIXt", "Ops.factor") for ">"
2: In eval(e, x, parent.frame()) :
Incompatible methods ("<=.POSIXt", "Ops.factor") for "<="
【问题讨论】:
-
你在倒数第二个代码块中列出了两次
subset
标签: r dplyr left-join conditional-operator