Hi Berwin, Many thanks for your fast reply! It's evening time in Vancouver, Canada but it must be day time in Australia, so good day to you.
Sorry about the confusion regarding the library name - I am using the "date" library, as you pointed out. I tried the solution you suggested and find that am having problems getting R to extract the year from an object created by as.date(): d <- as.date(sub("-00", "-2000", "02-MAY-00"),order="dmy") strptime(d, "%d%b%y")$year 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 301-7031 Blundell Road, Richmond, B.C., Canada, V6Y 1J5 Tel: 604-767-1250 Fax: 604-270-3922 E-mail: isabe...@ghement.ca Web: www.ghement.ca -----Original Message----- From: Berwin A Turlach [mailto:ber...@maths.uwa.edu.au] Sent: November 10, 2009 7:13 PM To: Isabella Ghement Cc: r-help@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" <isabe...@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 > [1] 2May1 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: ber...@maths.uwa.edu.au Australia http://www.maths.uwa.edu.au/~berwin ______________________________________________ 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.