[R] max size of a matrix

Henrik Bengtsson hb at stat.berkeley.edu
Tue Aug 5 18:08:32 CEST 2008


Are you aware that that matrix will have 147456^2 elements each of
size 8 bytes ("double") resulting in R trying to allocate
(147456^2)*8/1024^3 = 162 GB of RAM?

If you are aware of this and still trying to allocate a large matrix,
it is unfortunately too large due to "technical" limitations in R.
The matrix has 147456^2 ~= 2^34 elements which is greater than the
maximum number of elements 2^31-1.  To the best of my understanding
that is the reason for the error message.  For more details, see the
recent R-devel thread '[Rd] 4-int indexing limit of R {Re: [R]
allocMatrix limits}' on Aug 1, 2008
[https://stat.ethz.ch/pipermail/r-devel/2008-August/050321.html].

/Henrik

On Tue, Aug 5, 2008 at 8:38 AM, rostam shahname <rostamepython at gmail.com> wrote:
> Hi R users,
> I am trying to create a matrix, but R has problem with the size of dim,
> wondering if there is anything that I can do?
>
>> a <- diag(147456)
> Error in array(0, c(n, p)) : 'dim' specifies too large an array
>
> Thanks for your help
> Rostam
>
>        [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



More information about the R-help mailing list