An embedded and charset-unspecified text was scrubbed... Name: not available Url: https://stat.ethz.ch/pipermail/r-help/attachments/20040128/1d860b5e/attachment.pl
Julian dates
4 messages · Massimiliano Tripoli, stefano iacus, (Ted Harding) +1 more
I guess there's a "bug" in chron as you cannot pass the argument cut.off to year.expand. Adding ,... in chron arguments and along the code ,... to convert.dates does the trick. HIH, Stefano
On Wed, Jan 28, 2004 at 11:50:11AM +0100, Massimiliano Tripoli wrote:
Hi all, I have problems with years of dates using "chron" package. I don't understand why R by this istruction:
dates("01/02/29",out.format="d/m/year")
[1] 02/Jan/2029
dates("01/02/30",out.format="d/m/year")
[1] 02/Jan/1930 reads "29" as 2029 and "30" as 1930. How could I change to read "00" to "05" like 2000 to 2005 and "06" to "99" like 1906 to 1999 ? Thank you Massimiliano [[alternative HTML version deleted]]
______________________________________________ R-help at stat.math.ethz.ch mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
On 28-Jan-04 Massimiliano Tripoli wrote:
Hi all, I have problems with years of dates using "chron" package. I don't understand why R by this istruction:
dates("01/02/29",out.format="d/m/year")
[1] 02/Jan/2029
dates("01/02/30",out.format="d/m/year")
[1] 02/Jan/1930 reads "29" as 2029 and "30" as 1930. How could I change to read "00" to "05" like 2000 to 2005 and "06" to "99" like 1906 to 1999 ?
I'm puzzled by the above:
dates("01/02/29",out.format="d/m/year")
[1] 02/Jan/2029
dates("01/02/30",out.format="d/m/year")
[1] 02/Jan/1930 so chron apparently acts as though time began at 01/01/1930. However:
?chron
-->
origin.: a vector specifying the date with respect to which Julian
dates are computed. Default is 'c(month = 1, day = 1,
year = 1970)'
(which is the orthodox origin of time according to Unix) and, indeed,
origin(dates("01/02/29",out.format="d/m/year"))
month day year
1 1 1970
So why does Massimiliano's example behave as though the origin
were 01/01/1930?
Best wishes,
Ted.
--------------------------------------------------------------------
E-Mail: (Ted Harding) <Ted.Harding at nessie.mcc.ac.uk>
Fax-to-email: +44 (0)870 167 1972
Date: 28-Jan-04 Time: 16:38:37
------------------------------ XFMail ------------------------------
On Wed, 28 Jan 2004 Ted.Harding at nessie.mcc.ac.uk wrote:
origin(dates("01/02/29",out.format="d/m/year"))
month day year
1 1 1970
So why does Massimiliano's example behave as though the origin
were 01/01/1930?
It doesn't. It behaves as if he wrote "01/02/2029" and he intended "01/02/1929" (but chron failed to read his mind). That is an undocumented `feature' of the auxiliary function year.expand(), whose use is an undocumented `feature' of convert.dates() (whose use is ..., well it gets boring). You will find all date-conversion routines do something like this with incompletely specified years. Read the help on %y in ?strptime.
Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595