[R] Adding a year to existing date

Keith Jewell k.jewell at campden.co.uk
Thu Nov 17 18:27:33 CET 2011


Just looking at the ambiguity in "adding a year"

> dates <- as.Date(c('2007-03-01','2008-02-29'))
> tmp <- as.POSIXlt(dates)
> tmp$year <- tmp$year+1
> dates2 <- as.Date(tmp)
> dates2
[1] "2008-03-01" "2009-03-01"
> dates2 - dates
Time differences in days
[1] 366 366

KJ

"MacQueen, Don" <macqueen1 at llnl.gov> wrote in message 
news:CAEA785F.7CFDB%macqueen1 at llnl.gov...
> Here is an example that could probably be described as "adding a year":
>
> dates <- c('2008-01-01','2009-03-02')
> tmp <- as.POSIXlt(dates)tmp$year <- tmp$year+1
> dates2 <- format(tmp)
>> dates
> [1] "2008-01-01" "2009-03-02"
>> dates2
> [1] "2009-01-01" "2010-03-02"
>
> ## to begin to understand how it works, give the command
> ##   unclass(tmp)
> ## (and read the help pages
> ##   ?as.POSIXlt
> ##   ?DateTimeClasses
>
> Another example:
>
> dates <- as.Date(c('2008-01-01','2009-03-02'))
> tmp <- as.POSIXlt(dates)
> tmp$year <- tmp$year+1
> dates2 <- as.Date(tmp)
>
>
>
> ##   ?as.Date
> ##   ?Date
>
>
>
>
> -Don
>
>
> -- 
> Don MacQueen
>
> Lawrence Livermore National Laboratory
> 7000 East Ave., L-627
> Livermore, CA 94550
> 925-423-1062
>
>
>
>
>
> On 11/16/11 8:33 PM, "arunkumar1111" <akpbond007 at gmail.com> wrote:
>
>>Hi
>>
>> I need to add an year to and date field in the dataframe.
>>
>>Please help me
>>
>>X Date
>>1 2008-01-01
>>2 2008-02-01
>>3 2003-03-01
>>
>>
>>Thanks in advance
>>
>>--
>>View this message in context:
>>http://r.789695.n4.nabble.com/Adding-a-year-to-existing-date-tp4078930p407
>>8930.html
>>Sent from the R help mailing list archive at Nabble.com.
>>
>>______________________________________________
>>R-help at r-project.org mailing list
>>https://stat.ethz.ch/mailman/listinfo/r-help
>>PLEASE do read the posting guide
>>http://www.R-project.org/posting-guide.html
>>and provide commented, minimal, self-contained, reproducible code.
>



More information about the R-help mailing list