3

搜索了几个小时后,我似乎找不到以下问题的解决方案。我有 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”数据框。任何帮助是极大的赞赏。

4

1 回答 1

4

假设三个日期列属于 "Date" 类:

library(sqldf)
sqldf("select * from x left join seasonDates on
        (obsdate between startDate and endDate)")
于 2013-02-07T22:31:05.410 回答