[R] Mystified - comparing chron times

Sarah Goslee sarah.goslee at gmail.com
Fri Sep 16 14:13:51 CEST 2011


Sounds like a case for FAQ 7.31, or, yet another machine precision issue.
Try all.equal() instead of ==

Sarah

On Fri, Sep 16, 2011 at 7:36 AM, mebstyne <mebstyne at me.com> wrote:
> I have two local variables: startTime and expectedStartTime.  Both are chron
> related objects.
> When I look at the class for the objects I can see they are of class
> "times".
> When I print them to the console, they both read: "09:30:00"
> When I print them as.numeric(), they both read: 0.3958333
> When I try and compare them: (as.numeric(startTime) ==
> as.numeric(expectedStartTime)) it returns FALSE.
>
> I'm mystified.  I would expect them to be true.
> Perhaps a key to the riddle is how the two objects were created.
>
> "startTime" was created by reading a text field from a socket, converting it
> into a chron object using chron(x, "%m/$d/%Y %H:%M:%S"), then finally I
> created a time out of the chron by doing a quick butchering of the "integer"
> portion of the numeric: (times(as.numeric(x) - as.integer(x))
>
> "expectedStartTime" was created by the command times('09:30:00')
>
> Any suggestions?  Tips?  Alternative approaches?  I've pulled too many hairs
> triaging this.
> All hands welcomed on this little challenge.
>
> Big picture goal of what I'm doing: I have a list of chron objects with both
> dates and times portion filled out and I'm trying to determine if the time
> is a specific time (specific to the minute).
>
> Thanks!
>
> -Michael
>

-- 
Sarah Goslee
http://www.functionaldiversity.org



More information about the R-help mailing list