Hello,
I have a list of dates, such as
dates<-
as.Date(c("1996-03-29","1996-05-30","1996-09-28","1996-05-09"))
from which I would like to extract the week number for each date, with week
n?1 being the week going from Dec 30th 1995 to Jan 6th 1996
("1995-30-12" to
"1996-06-01"). Any suggestion for a simple way to do that?
Thank you
--
View this message in context:
http://r.789695.n4.nabble.com/Extracting-week-number-starting-from-a-specific-date-tp4598676.html
Sent from the R help mailing list archive at Nabble.com.
Rui Barradas
2012-Apr-30 19:46 UTC
[R] Extracting week number starting from a specific date
Hello,
Try
#
# Adapted from several posts to R-Help,
# mostly by David Winsemius, also by Gabor Grothendiek.
#
nweek <- function(x, format="%Y-%m-%d", origin){
if(missing(origin)){
as.integer(format(strptime(x, format=format), "%W"))
}else{
x <- as.Date(x, format=format)
o <- as.Date(origin, format=format)
w <- as.integer(format(strptime(x, format=format), "%w"))
2 + as.integer(x - o - w) %/% 7
}
}
dates<-
as.Date(c("1996-03-29","1996-05-30","1996-09-28","1996-05-09"))
nweek(dates)
nweek(dates, origin="1995-12-30")
Note that you have used two different date formats, Y-m-d (dates vector) and
Y-d-m (origin).
Above the origin is consistent with the rest.
Hope this helps,
Rui Barradas
--
View this message in context:
http://r.789695.n4.nabble.com/Extracting-week-number-starting-from-a-specific-date-tp4598676p4599178.html
Sent from the R help mailing list archive at Nabble.com.