[R] Is k equivalent to k:k ?
Martin Maechler
maechler at stat.math.ethz.ch
Thu Dec 9 08:56:00 CET 2004
>>>>> "Marcus" == Marcus Davy <MDavy at hortresearch.co.nz>
>>>>> on Thu, 09 Dec 2004 11:38:29 +1300 writes:
Marcus> Bringing up an old topic on a small technicality.
Marcus> In the help documentation on seq()
>> Value:
>> The result is of 'mode' '"integer"' if 'from' is (numerically
>> equal to an) integer and 'by' is not specified.
Marcus> The arguement in seq specifying length also creates
Marcus> "double" which is not obvious in the wording, as
Marcus> "by" is not specified but the object is double.
>> typeof(seq(from=1, length=1))
Marcus> [1] "double"
yes, thank you, Marcus!
Actually the situation is a bit more complicated and I'm
currently looking at the (not yet committed) version
\value{
The result is of \code{mode} \code{"integer"} if \code{from} is
(numerically equal to an) integer and, e.g., only \code{to} is specified.
% MM: to specify all the conditions doesn't seem worth, nor should the
% code be changed just for docu.purposes; e.g. str(seq(from=1:1, to=8, by=3:3))
}
Martin
>>>> Martin Maechler <maechler at stat.math.ethz.ch> 3/08/2004 3:15:45 AM >>>
>>>>> "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.
Marcus> 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.
Marcus> Why would you?
Marcus> Have you read the documentation for ":" carefully?
Marcus> {Part this topic, namely that a numeric constant such as "4"
Marcus> is a "double" in R (but integer in S-plus since S+5.0)
Marcus> should probably finally end up in the R FAQ ...
Marcus> }
Marcus> 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.
Marcus> a closer look wouldn't have been necessary had you read and
Marcus> 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]]
Marcus> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Marcus> do read the posting guide why you should reconfigure
Marcus> your e-mail software
Marcus> ______________________________________________
Marcus> R-help at stat.math.ethz.ch mailing list
Marcus> https://www.stat.math.ethz.ch/mailman/listinfo/r-help
Marcus> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Marcus> ______________________________________________________
Marcus> The contents of this e-mail are privileged and/or confidential to the
Marcus> named recipient and are not to be used by any other person and/or
Marcus> organisation. If you have received this e-mail in error, please notify
Marcus> the sender and delete all material pertaining to this e-mail.
Marcus> ______________________________________________________
More information about the R-help
mailing list