Skip to content

Computing very large distance matrix

6 messages · Arnav Sheth, Tom Blackwell, Brian Ripley +2 more

#
Arnav  -

A suggestion I have made in the past is to run Chris Fraley
and Adrian Raftery's  mclust()  procedure instead of Rousseuw's
agnes(), if you are willing to use a different clustering method.

The pdf instruction manual for the mclust package includes
explicit suggestions for how to use mclust with large data sets.
Naive attempts are guaranteed to fail, so DO read the manual.

-  tom blackwell  -  u michigan medical school  -  ann arbor  -
On Wed, 25 Feb 2004, Arnav Sheth wrote:

            
#
On Wed, 25 Feb 2004, Arnav Sheth wrote:

            
We've improved that message for the next release.
You'd need to increase the 32-bit limit of Windows, too ....
No. The distance matrix is 8Gb all by itself.
#
Hello,

Thank you all for your replies.

I have just discovered that now, for some reason, R does not let me increase
its memory limit beyond 4095 Mb.

Also, I get a different error message when computing the matrix using
daisy() as opposed to dist():

Error: Cannot allocate vector of size 135168 Kb

Does this mean that there is no way in which I can compute this distance
matrix on the machine I described below?

Is there any possible solution to this problem?

Thanks again to all,
Arnav.



----- Original Message -----
From: "Prof Brian Ripley" <ripley at stats.ox.ac.uk>
To: "Arnav Sheth" <sheth at economics.rutgers.edu>
Cc: "R-Help" <R-help at stat.math.ethz.ch>
Sent: Wednesday, February 25, 2004 2:12 PM
Subject: Re: [R] Computing very large distance matrix
euclidean distance matrix, which I then need to transform and run agnes() on
this transformed matrix. I am having trouble computing the distance matrix
as it is fairly large and I am sure I have gone over the max.
allowed
#
The problem is not with R; the problem is with Windows, as well 
as the x86 architecture.  You'll never really be able to access 
more than 3GB of physical memory (for a single process). 
Accessing more than 4GB requires a 64 bit processor.

-roger
Arnav Sheth wrote:
#
Roger D. Peng wrote:

            
Alternatively, if you move to Linux you could compile a kernel with
support for large amounts memory (>4GB) which doesn't require
a 64 bit processor.

Joel