[R] sammon fails with duplicates error, but no duplicates there (MASS package)
Frede Aakmann Tøgersen
frtog at vestas.com
Fri Jul 4 10:02:30 CEST 2014
Hi
It seems to be related to the way that the default start values (y argument of sammon) are calculated.
Here the last two rows are the same:
> cmdscale(dist(data), 2)
[,1] [,2]
c1 2.04910556 -0.3627887
c2 -0.01889892 -0.1822057
c3 0.40767629 0.2599026
c4 0.81569304 -0.4165993
c5 0.70362596 -0.3573003
c6 -1.69673266 -1.7209956
c7 -0.65997449 -0.2888096
c8 -0.24449262 0.4502489
c9 -0.67800108 1.3092739
c10 -0.67800108 1.3092739
Try to perturb the start values using jitter(). Like this
> sammon(dist(data), y = jitter(cmdscale(dist(data), 2)))
Initial stress : 0.18304
stress after 10 iters: 0.07867, magic = 0.092
stress after 20 iters: 0.05149, magic = 0.500
stress after 30 iters: 0.05101, magic = 0.500
stress after 40 iters: 0.05096, magic = 0.500
$points
[,1] [,2]
c1 2.12900041 -1.7255589
c2 0.32144017 -0.4397770
c3 1.09694083 1.2989299
c4 1.90228818 0.3198121
c5 0.09479179 -1.7229204
c6 -2.35619505 -1.2913663
c7 -0.95749355 -0.2635698
c8 -0.08310984 0.6903391
c9 -1.48236001 1.2443252
c10 -0.66530292 1.8897858
$stress
[1] 0.0509611
$call
sammon(d = dist(data), y = jitter(cmdscale(dist(data), 2)))
>
Yours sincerely / Med venlig hilsen
Frede Aakmann Tøgersen
Specialist, M.Sc., Ph.D.
Plant Performance & Modeling
Technology & Service Solutions
T +45 9730 5135
M +45 2547 6050
frtog at vestas.com
http://www.vestas.com
Company reg. name: Vestas Wind Systems A/S
This e-mail is subject to our e-mail disclaimer statement.
Please refer to www.vestas.com/legal/notice
If you have received this e-mail in error please contact the sender.
> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org]
> On Behalf Of Martin Guetlein
> Sent: 4. juli 2014 09:13
> To: r-help at r-project.org
> Subject: [R] sammon fails with duplicates error, but no duplicates there
> (MASS package)
>
> Hi all,
>
> the sammon mapping fails with message "initial configuration has
> duplicates". But there are no duplicates in my data (see example
> below).
> Apparently, the problem is that row 9 and 10 have an equal distance to
> all other rows (but they are not equal, see last two columns).
>
> Any help to get sammon working would be great,
> Kind regards,
> Martin
>
>
> library("MASS")
> c1 <- c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0)
> c2 <- c(0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0)
> c3 <- c(1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0)
> c4 <- c(0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0)
> c5 <- c(1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0,
> 0, 0, 0, 0, 0)
> c6 <- c(0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1,
> 1, 1, 1, 0, 0)
> c7 <- c(0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0,
> 0, 0, 0, 0, 0)
> c8 <- c(1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0)
> c9 <- c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 1, 0)
> c10<- c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 1)
> # working
> data <- rbind(c1,c2,c3,c4,c5,c6,c7,c8,c9)
> sammon(dist(data))
> # not working:
> data <- rbind(c1,c2,c3,c4,c5,c6,c7,c8,c9,c10)
> sammon(dist(data))
>
> ______________________________________________
> 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