isoMDS and stress
Hi all, I try to calculate the stress of a configuration using the formula in the isoMDS help, but I don't have the same result than the stress returned by isoMDS :
library(mva) library(MASS) data(swiss) swiss.x <- as.matrix(swiss[,-1]) swiss.dist <- dist(swiss.x) swiss.mds <- isoMDS(swiss.dist)
initial value 2.979731 iter 5 value 2.431486 iter 10 value 2.343353 final value 2.338839 Converged
delta.x <- swiss.mds$points
delta.dist <- dist(delta.x)
stress <- function(avant, apres) {
+ l <- length(avant)
+ num <- 0
+ denum <- 0
+
+ for (i in 1:l) {
+ num <- num + (avant[i] - apres[i])^2
+ denum <- denum + apres[i]
+ }
+
+ sqrt(num / denum)
+ }
swiss.mds$stress
[1] 2.338839
stress(swiss.dist, delta.dist)
[1] 0.4196349
Any idea ? Thanks -- Stephane