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