R - 多年来创建日期重复

R - create date repetition over years

基于日期范围,例如,

my.date <- seq(as.Date('2000-01-01'),as.Date('2009-12-31'), by="days")

我需要在该范围内的所有年份创建日期 "October 1st" 和 "February 20st" 的重复。

对于提供的示例,结果将是一个如下所示的数据框:

begin             end
2000-10-01        2001-02-20
2001-10-01        2002-02-20
2002-10-01        2003-02-20
2003-10-01        2004-02-20
2004-10-01        2005-02-20
2005-10-01        2006-02-20
2006-10-01        2007-02-20
2007-10-01        2008-02-20
2008-10-01        2009-02-20

我的日期范围变化很​​大,所以理想情况下我应该能够自动确定序列的开始和结束年份。

怎么做?

这是一个基本的 R 方法 seqas.Date:

my.date.df <- data.frame(begin=seq(as.Date('2000-10-01'), 
                                   length.out=9, by="years"),
                         end=seq(as.Date('2001-02-20'),
                                   length.out=9, by="years"))

这里的by被替换为"years"。

my.date.df
        begin        end
1  2000-10-01 2001-02-20
2  2001-10-01 2002-02-20
3  2002-10-01 2003-02-20
4  2003-10-01 2004-02-20
5  2004-10-01 2005-02-20
6  2005-10-01 2006-02-20
7  2006-10-01 2007-02-20
8  2007-10-01 2008-02-20
9  2008-10-01 2009-02-20