The isdst value -1 doesn't seem right. Shouldn't it
be either 0 (not daylight savings time) or 1 (yes dst)?
I've only seen isdst==-1 when all the other entries
were NA (that happens when the string doesn't match
the format).
In the parts of the US where daylight savings time is
used the switchover took place near the beginning of
April in 1992, so you should have isdst=1 by May 3.
Perhaps you have an odd timezone file on your machine.
Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com
> -----Original Message-----
> From: Alexander Shenkin [mailto:ashenkin at ufl.edu]
> Sent: Wednesday, June 22, 2011 1:07 PM
> To: William Dunlap
> Subject: Re: [R] strange date problem - May 3, 1992 is NA
>
> Hi Bill,
>
> Thanks for your reply. The results look almost identical to my eyes,
> except for the mysterious "TRUE"...
>
> > methods("is.na")
> [1] is.na.data.frame is.na.numeric_version is.na.POSIXlt
> > trace(methods("is.na"), quote(cat(" is.na:
class(x)=",
> class(x), "\n")))
> Tracing function "is.na.data.frame" in package "base"
> Tracing function "is.na.numeric_version" in package
"base"
> Tracing function "is.na.POSIXlt" in package "base"
> [1] "is.na.data.frame" "is.na.numeric_version"
"is.na.POSIXlt"
> > z <- strptime("5/3/1992", format="%m/%d/%Y")
> > is.na(z)
> Tracing is.na.POSIXlt(z) on entry
> is.na: class(x)= POSIXlt POSIXt
> [1] TRUE
> > str(unclass(z))
> List of 9
> $ sec : num 0
> $ min : int 0
> $ hour : int 0
> $ mday : int 3
> $ mon : int 4
> $ year : int 92
> $ wday : int 0
> $ yday : int 123
> $ isdst: int -1
>
>
> > sessionInfo()
> R version 2.12.1 (2010-12-16)
> Platform: i386-pc-mingw32/i386 (32-bit)
>
> locale:
> [1] LC_COLLATE=English_United States.1252
> [2] LC_CTYPE=English_United States.1252
> [3] LC_MONETARY=English_United States.1252
> [4] LC_NUMERIC=C
> [5] LC_TIME=English_United States.1252
>
> attached base packages:
> [1] stats graphics grDevices utils datasets methods base
>
> loaded via a namespace (and not attached):
> [1] tools_2.12.1
>
> thanks,
> allie
>
> On 6/22/2011 1:50 PM, William Dunlap wrote:
> > What do you get for the following commands, which
> > show which is.na method is getting called and
> > the internal structure of the dataset made
> > by strptime?
> >
> >> methods("is.na")
> > [1] is.na.data.frame is.na.numeric_version is.na.POSIXlt
> >> trace(methods("is.na"), quote(cat(" is.na:
class(x)=", class(x),
> > "\n")))
> > Tracing function "is.na.data.frame" in package
"base"
> > Tracing function "is.na.numeric_version" in package
"base"
> > Tracing function "is.na.POSIXlt" in package "base"
> > [1] "is.na.data.frame"
"is.na.numeric_version" "is.na.POSIXlt"
> >> z <- strptime("5/3/1992",
format="%m/%d/%Y")
> >> is.na(z)
> > Tracing is.na.POSIXlt(z) on entry
> > is.na: class(x)= POSIXlt POSIXt
> > [1] FALSE
> >> str(unclass(z))
> > List of 9
> > $ sec : num 0
> > $ min : int 0
> > $ hour : int 0
> > $ mday : int 3
> > $ mon : int 4
> > $ year : int 92
> > $ wday : int 0
> > $ yday : int 123
> > $ isdst: int 1
> >
> >
> >
> > Bill Dunlap
> > Spotfire, TIBCO Software
> > wdunlap tibco.com
> >
> >> -----Original Message-----
> >> From: r-help-bounces at r-project.org
> >> [mailto:r-help-bounces at r-project.org] On Behalf Of
> Alexander Shenkin
> >> Sent: Wednesday, June 22, 2011 11:41 AM
> >> To: Sarah Goslee; r-help at r-project.org
> >> Subject: Re: [R] strange date problem - May 3, 1992 is NA
> >>
> >> On 6/22/2011 1:34 PM, Sarah Goslee wrote:
> >>> On Wed, Jun 22, 2011 at 2:28 PM, David Winsemius
> >> <dwinsemius at comcast.net> wrote:
> >>>>
> >>>> On Jun 22, 2011, at 2:03 PM, Sarah Goslee wrote:
> >>>>
> >>>>> Hi,
> >>>>>
> >>>>> On Wed, Jun 22, 2011 at 11:40 AM, Alexander Shenkin
> >> <ashenkin at ufl.edu>
> >>>>> wrote:
> >>>>>>>
> >>>>>>> is.na(strptime("5/2/1992",
format="%m/%d/%Y"))
> >>>>>>
> >>>>>> [1] FALSE
> >>>>>>>
> >>>>>>> is.na(strptime("5/3/1992",
format="%m/%d/%Y"))
> >>>>>>
> >>>>>> [1] TRUE
> >>>>>
> >>>>> I can't reproduce your problem on R 2.13.0 on
linux:
> >>>>
> >>>> I also cannot reproduce it on a Mac with 2.13.0 beta
> >>>
> >>> Which strongly suggests that you should start by upgrading
your R
> >>> installation if at all possible.
> >>>
> >>> I'd also recommend trying it on a default R session, with
no extra
> >>> packages loaded, and no items in your workspace. It's
> possible that
> >>> something else is interfering.
> >>>
> >>> On linux, that's achieved by typing R --vanilla at the
> command line.
> >>> I'm afraid I don't know how to do it for Windows, but
should be
> >>> similarly straightforward.
> >>>
> >> Thanks Sarah. Still getting the problem. I should surely
> >> upgrade, but
> >> still, not a bad idea to get to the bottom of this, or at
> >> least have it
> >> documented as a known issue. BTW, I'm on Windows 7 Pro x64.
> >>
> >> (running Rgui.exe --vanilla):
> >>
> >>> is.na(strptime("5/3/1992",
format="%m/%d/%Y"))
> >> [1] TRUE
> >>
> >>> is.na(strptime("5/2/1992",
format="%m/%d/%Y"))
> >> [1] FALSE
> >>
> >>> sessionInfo()
> >> R version 2.12.1 (2010-12-16)
> >> Platform: i386-pc-mingw32/i386 (32-bit)
> >>
> >> locale:
> >> [1] LC_COLLATE=English_United States.1252
> >> [2] LC_CTYPE=English_United States.1252
> >> [3] LC_MONETARY=English_United States.1252
> >> [4] LC_NUMERIC=C
> >> [5] LC_TIME=English_United States.1252
> >>
> >> attached base packages:
> >> [1] stats graphics grDevices utils datasets
> methods base
> >>
> >> ______________________________________________
> >> R-help at 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.
> >>
>