Hi! I have a dissimilarity matrix X and try to compare it with X' = dist(cmdscsale(X,k)). If I increase k, I should expect that the error (or fit) should monotonically decrease, right. Here is a sample code; library(mva) set.seed(12345) x <- as.matrix(dist(matrix(rnorm(100),ncol=10,byrow=T))) # x[1,2]<-x[2,1]<-1000 ## <<--** 1 # x[5,6]<-x[6,5]<-1000 ## <<--** 2 fit <- NULL for(k in 1:9) { mds <- cmdscale(x,k,add=T) xprime <- as.matrix(dist(mds$points)) fit[k] <- sum((x-xprime)^2)/sum(x^2) } plot(fit) When I run this example, it gives a nice "good" plot. However, with those two commented lines added, the plot is opposite, that is, the fit is increasing as k grows! I really don't understand this behavior. The reason why I added those two lines is because my real input data is not an Euclidean distance matrix, but a dissimilarity matrix calculated from my own metric. So, does this mean that the matrix X *must* be an Euclidean distance matrix in this example? Thanks in advance. - Youngser