On Mon, Jul 18, 2011 at 8:56 AM, peter dalgaard <pda...@gmail.com> wrote: > > On Jul 18, 2011, at 14:08 , Gabor Grothendieck wrote: > >> On Sat, Jul 16, 2011 at 11:50 PM, Eduardo M. A. M. Mendes >> <emammen...@gmail.com> wrote: >>> Hello >>> >>> I am new to R and I need to convert some dates (numeric format by matlab) >>> to actual dates in R. >>> >>> For instance, >>> >>> Matlab -> 730456 -> >> datestr(730456) >>> >>> ans = >>> >>> 02-Dec-1999 >>> >> >> Set the origin to Matlab's origin like this. Be sure you are using >> the indicated version of zoo or later: >> >>> library(zoo) >>> packageVersion("zoo") >> [1] ‘1.7.1’ >>> as.Date(730456, origin = "0000-00-00") >> [1] "1999-12-02" > > Doesn't work on a Mac, and in general, I think it depends on a quirk in your > OS's date conversion utilities. What does work for me is
Did you have zoo 1.7-1 loaded? What happens when you try it? > >> as.Date(730456-1, origin='0000-01-01') > [1] "1999-12-02" > > but even this is dubious, since there is no year 0 AD. In Gregorian and > Julian calendars, 1 BC continues directly into 1 AD. > > So, to be sure, try > >> as.Date(730456-367, origin='0001-01-01') > [1] "1999-12-02" > > (from which it transpires that the non-existing year 0 is a leap year...). > > Or, or course, just use the appropriate "magic constant" of 719529 and begone > with it: > >> as.Date(730456-719529) > [1] "1999-12-02" > > > I fail to see what "zoo" has to do with this at all! zoo has its own as.Date.numeric method which accepts a superset of inputs that base::as.Date.numeric accepts. -- 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.