Le ven. 02 mai à 15:46, Duncan Murdoch a écrit :

On 5/2/2008 3:23 PM, Vincent Goulet wrote:
Hi,
From the R Language Definition, Section 3.4.1:
"If i is positive and exceeds length(x) then the corresponding selection is NA. A negative out of bounds value for i causes an error."
(This is also mentioned in S Programming, footnote of page 24.)
Can someone please provide an example triggering the error? Looking in src/main/subscript.c I could not find exception handling for | i| > length(x), unless the negative subscript is mixed with NAs. In other cases, out of bounds negative indexes just seem silently ignored.
Did I missed or misinterpreted something, here?

Looks to me like a documentation error. I would expect from that description that executing

> x <- 1:5
> x[7]
[1] NA
> x[-7]
[1] 1 2 3 4 5

would have given an error on x[-7], but clearly it didn't. This behaviour appears to have started with 2.6.0; 2.5.1 gives the error. I don't see a NEWS entry about it...but revision r42123 says

Changed the behaviour of out-of-bounds negative
subscripts to match that of S.  Such values are
now ignored rather than tripping an error.

Ah ha, there it is. The svn log is one place I didn't look. I had screened NEWS, ONEWS and OONEWS, though...

Thanks, Duncan.



so apparently it was intentional.

Duncan Murdoch

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to