On Wed, Aug 17, 2011 at 4:52 PM, Folkes, Michael <michael.fol...@dfo-mpo.gc.ca> wrote: > Hello all, > I'm hoping to convert a decimal value for week of the year back to a date > object. > Eg: > strptime(paste(2010,1:52,sep=" "),format="%Y %W") > > I expected (hoped?) this would give me the date for Monday of each week. > Instead, it's giving me 52 values of today's date. >
If the objective is to get all the Mondays in 2011 then: s <- seq(as.Date("2011-01-01"), as.Date("2011-12-31"), by = "day") s[format(s, "%w") == "1"] If the objective is to get the previous Monday relative to an input date (or the same date if its already Monday) then in the zoo-quickref vignette is a function nextfri which outputs the next Friday on or after the input date. We can readily modify that to get the prior Monday on or before the current date: prevmonday <- function(x) 7 * floor(as.numeric(x-1+4) / 7) + as.Date(1-4) For example, > prevmonday(Sys.Date()) [1] "2011-08-15" > prevmonday(prevmonday(Sys.Date())) [1] "2011-08-15" -- Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com ______________________________________________ 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.