[R] Is k equivalent to k:k ?

Martin Maechler maechler at stat.math.ethz.ch
Mon Aug 2 17:15:45 CEST 2004


>>>>> "Georgi" == Georgi Boshnakov <georgi.boshnakov at umist.ac.uk>
>>>>>     on Mon, 2 Aug 2004 15:46:37 +0100 writes:

    Georgi> Hi, I wonder if the following (apparent)
    Georgi> inconsistency is a bug or feature.  

a feature "of course".

    Georgi> Since scalars are simply vectors of length one I
    Georgi> would think that a and a:a produce the same result. 

Why would you?  
Have you read the documentation for ":" carefully?  

{Part this topic, namely that a numeric constant such as "4"
 is a "double" in R (but integer in S-plus since S+5.0)
 should probably finally end up in the R FAQ ...
}

Regards, Martin Maechler

    Georgi> For example,

    >> identical(4.01,4.01:4.01)
    Georgi> [1] TRUE

    Georgi> However,

    Georgi> identical(4,4:4)
    Georgi> [1] FALSE

    Georgi> and

    >> identical(4.0,4.0:4.0)
    Georgi> [1] FALSE

    Georgi> A closer look reveals that the colon operator produces objects of different class, e.g.

a closer look wouldn't have been necessary had you read and
understood the documentation.


    >> class(4)
    Georgi> [1] "numeric"
    >> class(4.0)
    Georgi> [1] "numeric"

    Georgi> but

    >> class(4:4)
    Georgi> [1] "integer"
    >> class(4.0:4.0)
    Georgi> [1] "integer"


    Georgi> Georgi Boshnakov
    Georgi> ------------------------------------------------------------------------------
    Georgi> Dr Georgi Boshnakov                                tel.: +44  (0)161 200 3684
    Georgi> Mathematics Department                           email: georgi.boshnakov at umist.ac.uk
    Georgi> UMIST
    Georgi> P O Box 88    
    Georgi> Manchester M60 1QD
    Georgi> UK


    Georgi> [[alternative HTML version deleted]]

	    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	    do read the posting guide why you should reconfigure
	    your e-mail software




More information about the R-help mailing list