d <- as.date(sub("-07", "-2007", "02-MAY-07"),order="dmy")
strptime(d, "%d%b%y")$year
Try this as well, just in case:
d <- as.date("02-MAY-07",order="dmy")
strptime(d, "%d%b%y")$year
How does one extract (a meaningful) year from the object d above?
Kind regards,
Isabella
Isabella R. Ghement, Ph.D.
Ghement Statistical Consulting Company
-----Original Message-----
From: Berwin A Turlach [mailto:berwin at maths.uwa.edu.au]
Sent: November 10, 2009 7:13 PM
To: Isabella Ghement
Cc: r-help at r-project.org
Subject: Re: [R] Unexpected behaviour for as.date()
G'day Isabella,
On Tue, 10 Nov 2009 18:40:11 -0800
"Isabella Ghement" <isabella at ghement.ca> wrote:
I am trying to use the function as.date() from the "dates" package
As far as I can tell, there is no package called "dates", did you mean
the package "date"?
in R 2.10.0 to convert a character date to a Julian date, as follows:
as.date("02-MAY-01", order="mdy") # convert May 2, 2001 to a Julian
date
Are you sure that you are doing what your comments imply? Try:
R> library(date)
R> as.date("02-MAY-01", order="mdy")
[1] 2May1
R> as.date("02-MAY-2001", order="mdy")
[1] 2May2001
R> as.numeric(as.date("02-MAY-01", order="mdy"))
[1] -21428
R> as.numeric(as.date("02-MAY-2001", order="mdy"))
[1] 15097
However, when trying to convert a character date from the year 2000
to a Julian date, I get an <NA> instead of the desired Julian date:
as.date("02-MAY-00", order="mdy") # convert May 2, 2000 to a Julian
date
[1] <NA>
Not quite sure why R is unable to handle this type of date (perhaps
it
thinks it comes from the year 1900?!).
My guess it thinks it comes from the year 0. Not sure why it cannot
handle such dates. But then, as far as I know, there is actually some
discussion about whether the year 0 exist or whether we went straight
from 1BC to 1AD......
Is there a way to force R to convert character dates from the year
2000 into Julian dates?
Presumably you will need something like:
R> as.date(sub("-00", "-2000", "02-MAY-00"))
[1] 2May2000
HTH.
Cheers,
Berwin
========================== Full address ============================
Berwin A Turlach Tel.: +61 (8) 6488 3338 (secr)
School of Maths and Stats (M019) +61 (8) 6488 3383 (self)
The University of Western Australia FAX : +61 (8) 6488 1028
35 Stirling Highway
Crawley WA 6009 e-mail: berwin at maths.uwa.edu.au
Australia http://www.maths.uwa.edu.au/~berwin