In Section 'Indexing by vectors' of 'R Language Definition' (http://cran.r-project.org/doc/manuals/r-release/R-lang.html#Indexing-by-vectors) it says:
"Integer. All elements of i must have the same sign. If they are positive, the elements of x with those index numbers are selected. If i contains negative elements, all elements except those indicated are selected. 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. A special case is the zero index, which has null effects: x[0] is an empty vector and otherwise including zeros among positive or negative indices has the same effect as if they were omitted." However, that "A negative out of bounds value for i causes an error" in the second paragraph does not seem to apply. Instead, R silently ignore negative indices that are out of range. For example: > x <- 1:4 > x[-9L] [1] 1 2 3 4 > x[-c(1:9)] integer(0) > x[-c(3:9)] [1] 1 2 > y <- as.list(1:4) > y[-c(1:9)] list() Is the observed non-error the correct behavior and therefore the documentation is incorrect, or is it vice verse? (...or is it me missing something) I get the above on R devel, R 3.2.0, and as far back as R 2.11.0 (haven't check earlier versions). Thank you, Henrik ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel