Vectors of \(2^{31}\) or more elements were added in R 3.0.0.
Details
Prior to R 3.0.0, all vectors in R were restricted to at most \(2^{31} - 1\) elements and could be indexed by integer vectors. Currently all atomic (raw, logical, integer, numeric, complex, character) vectors, lists and expressions can be much longer on 64-bit platforms: such vectors are referred to as ‘long vectors’ and have a slightly different internal structure. In theory they can contain up to \(2^{52}\) elements, but address space limits of current CPUs and OSes will be much smaller. Such objects will have a length that is expressed as a double, and can be indexed by double vectors. Arrays (including matrices) can be based on long vectors provided each of their dimensions is at most \(2^{31} - 1\): thus there are no 1-dimensional long arrays. R code typically only needs minor changes