[R] Bug in "is" ?

Keith Jewell k.jewell at campden.co.uk
Wed Sep 24 10:46:08 CEST 2008


"7" is an integer, but it's also a real.

In R '?is'  and '?is.integer' are clear that you're testing the class(es) of 
objects, not their values.
I can't comment on the relationship with "S Programming"

hth

Keith J

<ctu at bigred.unl.edu> wrote in message 
news:20080924000503.1fsyrqf6zokk40kg at wm-imp-1.unl.edu...
> This is really bothering me! In the Dr. Venables and Dr. Ripley's book  "S 
> Programming" Page 105
> shows that
>> c(is(10,"integer"),is(10.5,"integer"))
> [1] T F
>
> But I try this in R 2.7.2 it shows
>> c(is(10,"integer"),is(10.5,"integer"))
> [1] FALSE FALSE
> Does anyone know what is going on here?
>
> Appreciate,
> Chunhao
>
>
>
>
> Quoting Yihui Xie <xieyihui at gmail.com>:
>
>> Yes, everyone will agree "7" is an integer, but I don't think
>> computers will agree too :-) R thinks it's a double-precision number,
>> except when you explicitly specify it as an integer (say,
>> as.integer()).
>>
>>> class(7)
>> [1] "numeric"
>>
>>> is.double(7)
>> [1] TRUE
>>
>> Regards,
>> Yihui
>> --
>> Yihui Xie <xieyihui at gmail.com>
>> Phone: +86-(0)10-82509086 Fax: +86-(0)10-82509086
>> Mobile: +86-15810805877
>> Homepage: http://www.yihui.name
>> School of Statistics, Room 1037, Mingde Main Building,
>> Renmin University of China, Beijing, 100872, China
>>
>>
>>
>> On Wed, Sep 24, 2008 at 12:40 PM,  <ctu at bigred.unl.edu> wrote:
>>> Hi R users
>>> Is there anything wrong in "is" function? (R 2.7.2)
>>> I believe that everyone will agree that "7" is an integer, right? but 
>>> why R
>>> shows 7 is not an integer
>>>
>>>> is.integer(7)
>>>
>>> [1] FALSE
>>>>
>>>> is(7,"integer")
>>>
>>> [1] FALSE
>>>>
>>>> is(as.integer(7), "integer")
>>>
>>> [1] TRUE
>>>
>>> Thank you very much in advance
>>> Chunhao



More information about the R-help mailing list