搜索了几个小时后,接缝我无法找到解决以下问题的方法。我有2个数据框,一个包含一列观察日期,另一个包含开始日期和结束日期:
例如:
head(x)
station temp obsdate
311820 65.0 1973-01-01
311821 62.0 1973-01-02
etc...
head(seasonDates)
season startDate endDate
A 1973-11-01 1974-06-30
B 1974-11-01 1975-06-30
C 1975-11-01 1976-06-30
etc...
如果观察日期'obsdate'在'startDate'到'endDate'指示的日期范围内,我想将'seasonDates'数据框中的'season'分配给'x'数据框。非常感谢任何帮助。
答案 0 :(得分:3)
假设三个日期列属于“日期”类:
library(sqldf)
sqldf("select * from x left join seasonDates on
(obsdate between startDate and endDate)")