### Name: dist ### Title: Distance Matrix Computation ### Aliases: dist print.dist format.dist labels.dist as.matrix.dist as.dist ### as.dist.default ### Keywords: multivariate cluster ### ** Examples require(graphics) x <- matrix(rnorm(100), nrow=5) dist(x) dist(x, diag = TRUE) dist(x, upper = TRUE) m <- as.matrix(dist(x)) d <- as.dist(m) stopifnot(d == dist(x)) ## Use correlations between variables "as distance" dd <- as.dist((1 - cor(USJudgeRatings))/2) round(1000 * dd) # (prints more nicely) plot(hclust(dd)) # to see a dendrogram of clustered variables ## example of binary and canberra distances. x <- c(0, 0, 1, 1, 1, 1) y <- c(1, 0, 1, 1, 0, 1) dist(rbind(x,y), method= "binary") ## answer 0.4 = 2/5 dist(rbind(x,y), method= "canberra") ## answer 2 * (6/5) ## To find the names labels(eurodist) ## Examples involving "Inf" : ## 1) x[6] <- Inf (m2 <- rbind(x,y)) dist(m2, method="binary")# warning, answer 0.5 = 2/4 ## These all give "Inf": stopifnot(Inf == dist(m2, method= "euclidean"), Inf == dist(m2, method= "maximum"), Inf == dist(m2, method= "manhattan")) ## "Inf" is same as very large number: x1 <- x; x1[6] <- 1e100 stopifnot(dist(cbind(x ,y), method="canberra") == print(dist(cbind(x1,y), method="canberra"))) ## 2) y[6] <- Inf #-> 6-th pair is excluded dist(rbind(x,y), method="binary") # warning; 0.5 dist(rbind(x,y), method="canberra") # 3 dist(rbind(x,y), method="maximum") # 1 dist(rbind(x,y), method="manhattan")# 2.4