R - 多年创建日期重复

时间:2016-06-16 22:04:13

标签: r date repeat

基于日期范围,例如

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

我需要在该范围内的所有年份重复创建“10月1日”和“2月20日”的日期。

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

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

我所拥有的日期范围非常多样,所以理想情况下我应该能够自动确定序列的初始和最后年份。

怎么做?

1 个答案:

答案 0 :(得分:1)

以下是包含seqas.Date的基本R方法:

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