[R] as.POSIXct problem?
Frank E Harrell Jr
fharrell at virginia.edu
Fri Jan 3 20:52:03 CET 2003
On Fri, 3 Jan 2003 18:44:25 +0000 (GMT)
ripley at stats.ox.ac.uk wrote:
>
> > I get NA for any day in 1969 or earlier. Using a time other than midnight did not help. So it's not a problem with time zone changes on a given day (thanks, Brian and Don for suggesting I look at that).
>
> Ahah, so Dirk's guess was right for your machine! That's a new bug in
> some version of glibc, I suppose. Exactly what OS are you running, and
> version of glibc (if you can tell)?
I'm running RedHat 8.0 with glibc 2.2.93-5
>
> > Doing as.POSIXlt works fine, but I want POSIXct variables for storage in data frames.
> >
> > I am at a loss on how to proceed but thanks to all for the help.
>
> Dirk had a Linux machine in (I believe) the same time zone which
> gave the right answer. So does mine if I set it to EST.
>
> Try setting tz="GMT" is as.POSIXct if you don't care about times. It looks
> from reading the code that this will work. If you are compiling from
> source, about line 220 of src/main/datetime.c reads
Setting tz='GMT' as you suggested did indeed work, seemingly back 2000 years, except for a shift of one day due I suppose to time zone differences.
> x <- strptime(c('10/15/1969','12/31/2002'),format='%m/%d/%Y')
> as.POSIXct(x,tz='GMT')
[1] "1969-10-14 20:00:00 EDT" "2002-12-30 19:00:00 EST"
Thanks very much for the workaround Brian. Oddly enough, 10/15/1203 works without tz='GMT' (but with a day shift) but 10/15/1969 will not (gives NA).
- Frank
>
> #ifdef Win32
> tm->tm_year >= 70)
> #else
> tm->tm_year > 02)
> #endif
>
> and your machine seems to need the Win32 branch. You might also need it
> in localtime0 a few lines later.
>
>
> We will probably need a configure test for this particular type of
> brokenness.
>
> --
> 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
>
--
Frank E Harrell Jr Prof. of Biostatistics & Statistics
Div. of Biostatistics & Epidem. Dept. of Health Evaluation Sciences
U. Virginia School of Medicine http://hesweb1.med.virginia.edu/biostat
More information about the R-help
mailing list