On 14/07/2010 5:23 PM, paul s wrote:
hi -

i just started using R as i am trying to figure out how perform a linear regression on a huge matrix.

i am sure this topic has passed through the email list before but could not find anything in the archives.

i have a matrix that is 2,000,000 x 170,000 the values right now are arbitray.

i try to allocate this on a x86_64 machine with 16G of ram and i get the following:

 > x <- matrix(0,2000000,170000);
Error in matrix(0, 2e+06, 170000) : too many elements specified
 >

is R capable of handling data of this size? am i doing it wrong?

It is capable of handling large data, but not that large in a single matrix. The limit on the number of entries in any vector (and matrices are stored as vectors) is about 2^31 ~ 2 billion. Your matrix needs about 340 billion entries, so it's too big. (It won't all fit in memory, either: you've only got space for 2 billion numeric values in your 16G of RAM, and you also need space for the OS, etc. But the OS can use disk space as virtual memory, so you might be able to get that much memory, it would just be very, very slow.)

You need to break up the work into smaller pieces.

Duncan Murdoch


cheers
paul

______________________________________________
R-help@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.

______________________________________________
R-help@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.

Reply via email to