There is some question of what should be returned if its Feb 29th and in 6 years Feb only has 28 days; however, that aside try this which does not involve any internals and works for both Date and chron dates:
> y6 <- function(x) { + for(i in seq_along(x)) x[i] <- tail(seq(x[i], len = 7, by = "year"), 1) + x + } > > x <- as.Date("2000-02-28") + 0:2 > y6(x) [1] "2006-02-28" "2006-03-01" "2006-03-01" > > library(chron) > x <- as.chron("2000-02-28") + 0:2 > y6(x) [1] 02/28/06 02/28/06 03/01/06 On Mon, Nov 23, 2009 at 9:06 PM, Rolf Turner <r.tur...@auckland.ac.nz> wrote: > > I have a character vector of dates, comme ci: > > > irving > [1] "12/05/1987" "11/07/1986" "08/29/1987" "01/26/1988" "06/21/1988" > [6] "03/17/1987" "02/24/1988" "10/04/1986" "03/19/1987" "01/02/1987" > > For reasons best known to myself ( ;-) ) I want to add six years to the > year in each of these dates. > > After reading TFM about POSIXct and POSIXlt objects I figured out that I > could do: > > clyde <- as.POSIXlt(irving,format="%m/%d/%Y") > clyde$year <- clyde$year + 6 > melvin <- format(clyde,"%m/%d/%Y") > > This seems to me however to be a bit of a kludge. Is there a way of > converting a character vector of dates to a POSIXlt/POSIXct/Date/whatever > object and then adding 6 years to the latter object in a straightforward > way, without having to delve into components of the object? > > Ta. > > cheers, > > Rolf Turner > > ###################################################################### > Attention:\ This e-mail message is privileged and confid...{{dropped:9}} > > ______________________________________________ > R-help@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. > ______________________________________________ R-help@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.