[R] limit of cmdscale function

David L Carlson dcarlson at tamu.edu
Thu Nov 6 15:40:23 CET 2014

You avoid the call to cmdscale() by supplying your own starting configuration (see the manual page for the y= argument). You could still hit other barriers within isoMDS() or insufficient memory on your computer.

David L Carlson
Department of Anthropology
Texas A&M University
College Station, TX 77840-4352

-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Kawashima, Masayuki
Sent: Wednesday, November 5, 2014 10:51 PM
To: r-help at r-project.org
Subject: [R] limit of cmdscale function


We have a few questions regarding the use of the "isoMDS" function.

When we run "isoMDS" function using 60,000 x 60,000 data matrix, 
we get the following error message:

cmdscale(d, k) : invalid value of 'n'
Calls: isoMDS -> cmdscale

We checked the source code of "cmdscale" and found the following limitation:
## we need to handle nxn internally in dblcen
if(is.na(n) || n > 46340) stop("invalid value of 'n'")

1. This cmdscale limitation ('n > 46340') is due to the limitation of BLAS and LAPACK variables(int4) which can only handle '2^31-1' amount of data?

2. Is there any workaround to run isoMDS using large data (i.e. greater than 46340)?
   We would like to run isoMDS using a maximum of 150,000x150,000 data matrix.

Best regards

Masayuki Kawashima
Email: kawasima.m at jp.fujitsu.com

R-help at r-project.org mailing list
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