R Under development (unstable) (2024-12-05 r87423 ucrt) -- "Unsuffered Consequences" Copyright (C) 2024 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > ## For different cluster versions > > require(cluster) Loading required package: cluster > > if(interactive()) print(packageDescription("cluster")) > > ## trivial cases should 'work': > daisy(cbind(1)) Dissimilarities : dissimilarity(0) Metric : euclidean Number of objects : 1 > (d10 <- daisy(matrix(0., 1,0))); str(d10) Dissimilarities : dissimilarity(0) Metric : euclidean Number of objects : 1 'dissimilarity' num(0) - attr(*, "Size")= int 1 - attr(*, "Metric")= chr "euclidean" > d01 <- daisy(matrix(0., 0,1)) > if(paste(R.version$major, R.version$minor, sep=".") >= "2.1.0") + print(d01) Dissimilarities : dissimilarity(0) Metric : euclidean Number of objects : 0 > str(d01) 'dissimilarity' num(0) - attr(*, "Size")= int 0 - attr(*, "Metric")= chr "euclidean" > d32 <- data.frame(eins=c("A"=1,"B"=1,"C"=1), zwei=c(2,2,2)) > daisy(d32) Dissimilarities : A B B 0 C 0 0 Metric : euclidean Number of objects : 3 > daisy(d32, stand = TRUE) Dissimilarities : A B B 0 C 0 0 Metric : euclidean Number of objects : 3 Warning message: In daisy(d32, stand = TRUE) : 'x' has constant columns 1, 2; these are standardized to 0 > daisy(d32, type = list(ordratio="zwei")) Dissimilarities : A B B 0 C 0 0 Metric : mixed ; Types = I, T Number of objects : 3 > > > str(d5 <- data.frame(a= c(0, 0, 0,1,0,0, 0,0,1, 0,NA), + b= c(NA,0, 1,1,0,1, 0,1,0, 1,0), + c= c(0, 1, 1,0,1,NA,1,0,1, 0,NA), + d= c(1, 1, 0,1,0,0, 0,0,0, 1,0), + e= c(1, NA,0,1,0,0, 0,0,NA,1,1))) 'data.frame': 11 obs. of 5 variables: $ a: num 0 0 0 1 0 0 0 0 1 0 ... $ b: num NA 0 1 1 0 1 0 1 0 1 ... $ c: num 0 1 1 0 1 NA 1 0 1 0 ... $ d: num 1 1 0 1 0 0 0 0 0 1 ... $ e: num 1 NA 0 1 0 0 0 0 NA 1 ... > (d0 <- daisy(d5)) Dissimilarities : 1 2 3 4 5 6 7 8 2 1.290994 3 1.936492 1.581139 4 1.118034 1.936492 2.000000 5 1.936492 1.118034 1.000000 2.236068 6 1.825742 1.825742 0.000000 1.936492 1.118034 7 1.936492 1.118034 1.000000 2.236068 0.000000 1.118034 8 1.581139 1.936492 1.000000 1.732051 1.414214 0.000000 1.414214 9 2.236068 1.581139 1.581139 1.936492 1.118034 1.825742 1.118034 1.936492 10 0.000000 1.581139 1.732051 1.000000 2.000000 1.581139 2.000000 1.414214 11 1.581139 1.581139 1.825742 1.825742 1.290994 1.825742 1.290994 1.825742 9 10 2 3 4 5 6 7 8 9 10 2.236068 11 0.000000 1.825742 Metric : euclidean Number of objects : 11 Warning message: In daisy(d5) : binary variable(s) 1, 2, 3, 4, 5 treated as interval scaled > (d1 <- daisy(d5, type = list(asymm = 1:5))) Dissimilarities : 1 2 3 4 5 6 7 2 0.5000000 3 1.0000000 0.6666667 4 0.3333333 0.7500000 0.8000000 5 1.0000000 0.5000000 0.5000000 1.0000000 6 1.0000000 1.0000000 0.0000000 0.7500000 1.0000000 7 1.0000000 0.5000000 0.5000000 1.0000000 0.0000000 1.0000000 8 1.0000000 1.0000000 0.5000000 0.7500000 1.0000000 0.0000000 1.0000000 9 1.0000000 0.6666667 0.6666667 0.7500000 0.5000000 1.0000000 0.5000000 10 0.0000000 0.6666667 0.7500000 0.2500000 1.0000000 0.6666667 1.0000000 11 0.5000000 1.0000000 1.0000000 0.6666667 1.0000000 1.0000000 1.0000000 8 9 10 2 3 4 5 6 7 8 9 1.0000000 10 0.6666667 1.0000000 11 1.0000000 NA 0.6666667 Metric : mixed ; Types = A, A, A, A, A Number of objects : 11 > (d2 <- daisy(d5, type = list(symm = 1:2, asymm= 3:5))) Dissimilarities : 1 2 3 4 5 6 7 2 0.3333333 3 0.7500000 0.5000000 4 0.3333333 0.7500000 0.8000000 5 0.7500000 0.2500000 0.3333333 1.0000000 6 0.6666667 0.6666667 0.0000000 0.7500000 0.5000000 7 0.7500000 0.2500000 0.3333333 1.0000000 0.0000000 0.5000000 8 0.6666667 0.7500000 0.3333333 0.7500000 0.6666667 0.0000000 0.6666667 9 1.0000000 0.5000000 0.6666667 0.7500000 0.3333333 1.0000000 0.3333333 10 0.0000000 0.5000000 0.6000000 0.2500000 0.8000000 0.5000000 0.8000000 11 0.5000000 0.5000000 1.0000000 0.6666667 0.5000000 1.0000000 0.5000000 8 9 10 2 3 4 5 6 7 8 9 1.0000000 10 0.5000000 1.0000000 11 1.0000000 0.0000000 0.6666667 Metric : mixed ; Types = S, S, A, A, A Number of objects : 11 > (d2.<- daisy(d5, type = list( asymm= 3:5))) Dissimilarities : 1 2 3 4 5 6 7 2 0.3333333 3 0.7500000 0.5000000 4 0.3333333 0.7500000 0.8000000 5 0.7500000 0.2500000 0.3333333 1.0000000 6 0.6666667 0.6666667 0.0000000 0.7500000 0.5000000 7 0.7500000 0.2500000 0.3333333 1.0000000 0.0000000 0.5000000 8 0.6666667 0.7500000 0.3333333 0.7500000 0.6666667 0.0000000 0.6666667 9 1.0000000 0.5000000 0.6666667 0.7500000 0.3333333 1.0000000 0.3333333 10 0.0000000 0.5000000 0.6000000 0.2500000 0.8000000 0.5000000 0.8000000 11 0.5000000 0.5000000 1.0000000 0.6666667 0.5000000 1.0000000 0.5000000 8 9 10 2 3 4 5 6 7 8 9 1.0000000 10 0.5000000 1.0000000 11 1.0000000 0.0000000 0.6666667 Metric : mixed ; Types = I, I, A, A, A Number of objects : 11 Warning message: In daisy(d5, type = list(asymm = 3:5)) : binary variable(s) 1, 2 treated as interval scaled > stopifnot(identical(c(d2), c(d2.))) > (dS <- daisy(d5, stand = TRUE))# gave error in some versions Dissimilarities : 1 2 3 4 5 6 7 8 2 2.614264 3 4.010913 3.291786 4 3.493856 4.725761 4.757684 5 4.010913 2.415752 2.000000 5.160965 6 3.823025 3.801028 0.000000 4.813384 2.236068 7 4.010913 2.415752 2.000000 5.160965 0.000000 2.236068 8 3.310837 3.995202 2.025000 4.305222 2.846160 0.000000 2.846160 9 5.558018 4.247692 4.148136 3.995202 3.493856 4.789855 3.493856 4.725761 10 0.000000 3.182103 3.587469 3.125000 4.107303 3.310837 4.107303 2.961302 11 3.416389 3.416389 3.674376 3.801028 2.614264 3.674376 2.614264 3.674376 9 10 2 3 4 5 6 7 8 9 10 5.307417 11 0.000000 3.801028 Metric : euclidean Number of objects : 11 Warning message: In daisy(d5, stand = TRUE) : binary variable(s) 1, 2, 3, 4, 5 treated as interval scaled > stopifnot(all.equal(as.vector(summary(c(dS), digits=9)), + c(0, 2.6142638, 3.4938562, 3.2933687, 4.0591077, 5.5580177), + tol = 1e-7))# 7.88e-9 > > d5[,4] <- 1 # binary with only one instead of two values > (d0 <- daisy(d5)) Dissimilarities : 1 2 3 4 5 6 7 8 2 1.290994 3 1.581139 1.118034 4 1.118034 1.936492 1.732051 5 1.581139 0.000000 1.000000 2.000000 6 1.290994 1.290994 0.000000 1.581139 1.118034 7 1.581139 0.000000 1.000000 2.000000 0.000000 1.118034 8 1.118034 1.581139 1.000000 1.414214 1.414214 0.000000 1.414214 9 1.825742 1.118034 1.581139 1.581139 1.118034 1.825742 1.118034 1.936492 10 0.000000 1.581139 1.414214 1.000000 1.732051 1.118034 1.732051 1.000000 11 0.000000 0.000000 1.825742 1.290994 1.290994 1.825742 1.290994 1.825742 9 10 2 3 4 5 6 7 8 9 10 1.936492 11 0.000000 1.290994 Metric : euclidean Number of objects : 11 Warning message: In daisy(d5) : binary variable(s) 1, 2, 3, 5 treated as interval scaled > (d1 <- daisy(d5, type = list(asymm = 1:5)))# 2 NAs Dissimilarities : 1 2 3 4 5 6 7 2 1.0000000 3 1.0000000 0.5000000 4 0.5000000 1.0000000 0.7500000 5 1.0000000 0.0000000 0.5000000 1.0000000 6 1.0000000 1.0000000 0.0000000 0.6666667 1.0000000 7 1.0000000 0.0000000 0.5000000 1.0000000 0.0000000 1.0000000 8 1.0000000 1.0000000 0.5000000 0.6666667 1.0000000 0.0000000 1.0000000 9 1.0000000 0.5000000 0.6666667 0.6666667 0.5000000 1.0000000 0.5000000 10 0.0000000 1.0000000 0.6666667 0.3333333 1.0000000 0.5000000 1.0000000 11 0.0000000 NA 1.0000000 0.5000000 1.0000000 1.0000000 1.0000000 8 9 10 2 3 4 5 6 7 8 9 1.0000000 10 0.5000000 1.0000000 11 1.0000000 NA 0.5000000 Metric : mixed ; Types = A, A, A, A, A Number of objects : 11 Warning message: In daisy(d5, type = list(asymm = 1:5)) : at least one binary variable has not 2 different levels. > (d2 <- daisy(d5, type = list(symm = 1:2, asymm= 3:5))) Dissimilarities : 1 2 3 4 5 6 7 2 0.5000000 3 0.6666667 0.3333333 4 0.5000000 1.0000000 0.7500000 5 0.6666667 0.0000000 0.3333333 1.0000000 6 0.5000000 0.5000000 0.0000000 0.6666667 0.5000000 7 0.6666667 0.0000000 0.3333333 1.0000000 0.0000000 0.5000000 8 0.5000000 0.6666667 0.3333333 0.6666667 0.6666667 0.0000000 0.6666667 9 1.0000000 0.3333333 0.6666667 0.6666667 0.3333333 1.0000000 0.3333333 10 0.0000000 0.6666667 0.5000000 0.3333333 0.7500000 0.3333333 0.7500000 11 0.0000000 0.0000000 1.0000000 0.5000000 0.5000000 1.0000000 0.5000000 8 9 10 2 3 4 5 6 7 8 9 1.0000000 10 0.3333333 1.0000000 11 1.0000000 0.0000000 0.5000000 Metric : mixed ; Types = S, S, A, A, A Number of objects : 11 Warning message: In daisy(d5, type = list(symm = 1:2, asymm = 3:5)) : at least one binary variable has not 2 different levels. > (d2.<- daisy(d5, type = list( asymm= 3:5))) Dissimilarities : 1 2 3 4 5 6 7 2 0.5000000 3 0.6666667 0.3333333 4 0.5000000 1.0000000 0.7500000 5 0.6666667 0.0000000 0.3333333 1.0000000 6 0.5000000 0.5000000 0.0000000 0.6666667 0.5000000 7 0.6666667 0.0000000 0.3333333 1.0000000 0.0000000 0.5000000 8 0.5000000 0.6666667 0.3333333 0.6666667 0.6666667 0.0000000 0.6666667 9 1.0000000 0.3333333 0.6666667 0.6666667 0.3333333 1.0000000 0.3333333 10 0.0000000 0.6666667 0.5000000 0.3333333 0.7500000 0.3333333 0.7500000 11 0.0000000 0.0000000 1.0000000 0.5000000 0.5000000 1.0000000 0.5000000 8 9 10 2 3 4 5 6 7 8 9 1.0000000 10 0.3333333 1.0000000 11 1.0000000 0.0000000 0.5000000 Metric : mixed ; Types = I, I, A, A, A Number of objects : 11 Warning messages: 1: In daisy(d5, type = list(asymm = 3:5)) : at least one binary variable has not 2 different levels. 2: In daisy(d5, type = list(asymm = 3:5)) : binary variable(s) 1, 2 treated as interval scaled > ## better leave away the constant variable: it has no effect: > stopifnot(identical(c(d1), c(daisy(d5[,-4], type = list(asymm = 1:4))))) > > ###---- Trivial "binary only" matrices (not data frames) did fail: > > x <- matrix(0, 2, 2) > dimnames(x)[[2]] <- c("A", "B")## colnames<- is missing in S+ > daisy(x, type = list(symm= "B", asymm="A")) Dissimilarities : 1 2 0 Metric : mixed ; Types = A, S Number of objects : 2 Warning message: In daisy(x, type = list(symm = "B", asymm = "A")) : at least one binary variable has not 2 different levels. > daisy(x, type = list(symm= "B"))# 0 too Dissimilarities : 1 2 0 Metric : mixed ; Types = I, S Number of objects : 2 Warning message: In daisy(x, type = list(symm = "B")) : at least one binary variable has not 2 different levels. > > x2 <- x; x2[2,2] <- 1 > daisy(x2, type= list(symm = "B"))# |-> 0.5 (gives 1 in S+) Dissimilarities : 1 2 0.5 Metric : mixed ; Types = I, S Number of objects : 2 > daisy(x2, type= list(symm = "B", asymm="A"))# 1 Dissimilarities : 1 2 1 Metric : mixed ; Types = A, S Number of objects : 2 Warning message: In daisy(x2, type = list(symm = "B", asymm = "A")) : at least one binary variable has not 2 different levels. > > x3 <- x; x3[] <- diag(2) > daisy(x3) # warning: both as interval scaled -> sqrt(2) Dissimilarities : 1 2 1.414214 Metric : euclidean Number of objects : 2 > daisy(x3, type= list(symm="B", asymm="A"))# 1 Dissimilarities : 1 2 1 Metric : mixed ; Types = A, S Number of objects : 2 > daisy(x3, type= list(symm =c("B","A"))) # 1, S+: sqrt(2) Dissimilarities : 1 2 1 Metric : mixed ; Types = S, S Number of objects : 2 > daisy(x3, type= list(asymm=c("B","A"))) # 1, S+ : sqrt(2) Dissimilarities : 1 2 1 Metric : mixed ; Types = A, A Number of objects : 2 > > x4 <- rbind(x3, 1) > daisy(x4, type= list(symm="B", asymm="A"))# 1 0.5 0.5 Dissimilarities : 1 2 2 1.0 3 0.5 0.5 Metric : mixed ; Types = A, S Number of objects : 3 > daisy(x4, type= list(symm=c("B","A"))) # dito; S+ : 1.41 1 1 Dissimilarities : 1 2 2 1.0 3 0.5 0.5 Metric : mixed ; Types = S, S Number of objects : 3 > daisy(x4, type= list(asymm=c("A","B"))) # dito, dito Dissimilarities : 1 2 2 1.0 3 0.5 0.5 Metric : mixed ; Types = A, A Number of objects : 3 > > > > ## ----------- example(daisy) ----------------------- > > data(flower) > data(agriculture) > > ## Example 1 in ref: > ## Dissimilarities using Euclidean metric and without standardization > (d.agr <- daisy(agriculture, metric = "euclidean", stand = FALSE)) Dissimilarities : B DK D GR E F IRL DK 5.408327 D 2.061553 3.405877 GR 22.339651 22.570113 22.661200 E 9.818350 11.182576 10.394710 12.567418 F 3.448188 3.512834 2.657066 20.100995 8.060397 IRL 12.747549 13.306014 13.080138 9.604166 3.140064 10.564563 I 5.803447 5.470832 5.423099 17.383325 5.727128 2.773085 7.920859 L 4.275512 2.220360 2.300000 24.035391 12.121056 4.060788 14.569145 NL 1.649242 5.096077 2.435159 20.752349 8.280097 2.202272 11.150785 P 17.236299 17.864490 17.664088 5.162364 7.430343 15.164432 4.601087 UK 2.828427 8.052950 4.850773 21.485344 8.984431 5.303772 12.103718 I L NL P DK D GR E F IRL I L 6.660330 NL 4.204759 4.669047 P 12.515990 19.168985 15.670673 UK 6.723095 7.102112 3.124100 16.323296 Metric : euclidean Number of objects : 12 > (d.agr2 <- daisy(agriculture, metric = "manhattan")) Dissimilarities : B DK D GR E F IRL I L NL P DK 7.5 D 2.7 4.8 GR 30.4 31.9 31.5 E 13.6 15.1 14.7 16.8 F 4.3 3.8 3.4 28.1 11.3 IRL 17.2 18.7 18.3 13.2 3.6 14.9 I 6.0 7.5 7.1 24.4 7.6 3.7 11.2 L 5.0 2.5 2.3 33.8 17.0 5.7 20.6 9.4 NL 2.0 6.3 3.1 28.4 11.6 3.1 15.2 4.4 5.4 P 23.7 25.2 24.8 6.7 10.1 21.4 6.5 17.7 27.1 21.7 UK 3.2 10.7 5.9 28.0 11.2 7.5 14.8 8.8 8.2 4.4 21.3 Metric : manhattan Number of objects : 12 > > > ## Example 2 in ref > (dfl0 <- daisy(flower)) Dissimilarities : 1 2 3 4 5 6 7 2 0.8875408 3 0.5272467 0.5147059 4 0.3517974 0.5504493 0.5651552 5 0.4115605 0.6226307 0.3726307 0.6383578 6 0.2269199 0.6606209 0.3003268 0.4189951 0.3443627 7 0.2876225 0.5999183 0.4896242 0.3435866 0.4197712 0.1892974 8 0.4234069 0.4641340 0.6038399 0.2960376 0.4673203 0.5714869 0.4107843 9 0.5808824 0.4316585 0.4463644 0.8076797 0.3306781 0.5136846 0.5890931 10 0.6094363 0.4531046 0.4678105 0.5570670 0.3812908 0.4119281 0.5865196 11 0.3278595 0.7096814 0.5993873 0.6518791 0.3864788 0.4828840 0.5652369 12 0.4267565 0.5857843 0.6004902 0.5132761 0.5000817 0.5248366 0.6391340 13 0.5196487 0.5248366 0.5395425 0.7464461 0.2919118 0.4524510 0.5278595 14 0.2926062 0.5949346 0.6096405 0.3680147 0.5203431 0.3656863 0.5049837 15 0.6221814 0.3903595 0.5300654 0.5531454 0.4602124 0.5091503 0.3345588 16 0.6935866 0.3575163 0.6222222 0.3417892 0.7301471 0.5107843 0.4353758 17 0.7765114 0.1904412 0.5801471 0.4247141 0.6880719 0.5937092 0.5183007 18 0.4610294 0.4515114 0.7162173 0.4378268 0.4755310 0.6438317 0.4692402 8 9 10 11 12 13 14 2 3 4 5 6 7 8 9 0.6366422 10 0.6639706 0.4256127 11 0.4955474 0.4308007 0.3948121 12 0.4216503 0.4194036 0.3812092 0.2636029 13 0.5754085 0.2181781 0.3643791 0.3445670 0.2331699 14 0.4558007 0.4396650 0.3609477 0.2838644 0.1591503 0.3784314 15 0.4512255 0.2545343 0.4210784 0.4806781 0.4295752 0.3183007 0.4351307 16 0.6378268 0.6494690 0.3488562 0.7436683 0.6050654 0.5882353 0.4598039 17 0.4707516 0.6073938 0.3067810 0.7015931 0.5629902 0.5461601 0.5427288 18 0.1417892 0.5198529 0.8057598 0.5359477 0.5495507 0.5733252 0.5698121 15 16 17 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 0.3949346 17 0.3528595 0.1670752 18 0.5096814 0.7796160 0.6125408 Metric : mixed ; Types = N, N, N, N, O, O, I, I Number of objects : 18 > stopifnot(identical(c(dfl0), + c(daisy(flower, type = list(symm = 1)))) && + identical(c(dfl0), + c(daisy(flower, type = list(symm = 2)))) && + identical(c(dfl0), + c(daisy(flower, type = list(symm = 3)))) && + identical(c(dfl0), + c(daisy(flower, type = list(symm = c(1,3))))) + ) > > (dfl1 <- daisy(flower, type = list(asymm = 3))) Dissimilarities : 1 2 3 4 5 6 7 2 0.8875408 3 0.5272467 0.5882353 4 0.3517974 0.5504493 0.5651552 5 0.4115605 0.7115780 0.4258637 0.6383578 6 0.2269199 0.7549953 0.3432306 0.4189951 0.3935574 7 0.2876225 0.6856209 0.5595705 0.3435866 0.4797386 0.2163399 8 0.4234069 0.4641340 0.6038399 0.2960376 0.4673203 0.5714869 0.4107843 9 0.5808824 0.4933240 0.5101307 0.8076797 0.3779178 0.5870682 0.6732493 10 0.6094363 0.5178338 0.5346405 0.5570670 0.4357610 0.4707750 0.6703081 11 0.3278595 0.7096814 0.5993873 0.6518791 0.3864788 0.4828840 0.5652369 12 0.4267565 0.5857843 0.6004902 0.5132761 0.5000817 0.5248366 0.6391340 13 0.5196487 0.5998133 0.6166200 0.7464461 0.3336134 0.5170868 0.6032680 14 0.2926062 0.5949346 0.6096405 0.3680147 0.5203431 0.3656863 0.5049837 15 0.6221814 0.4461251 0.6057890 0.5531454 0.5259570 0.5818861 0.3823529 16 0.6935866 0.4085901 0.7111111 0.3417892 0.8344538 0.5837535 0.4975724 17 0.7765114 0.2176471 0.6630252 0.4247141 0.7863679 0.6785247 0.5923436 18 0.4610294 0.4515114 0.7162173 0.4378268 0.4755310 0.6438317 0.4692402 8 9 10 11 12 13 14 2 3 4 5 6 7 8 9 0.6366422 10 0.6639706 0.4864146 11 0.4955474 0.4308007 0.3948121 12 0.4216503 0.4194036 0.3812092 0.2636029 13 0.5754085 0.2493464 0.4164332 0.3445670 0.2331699 14 0.4558007 0.4396650 0.3609477 0.2838644 0.1591503 0.3784314 15 0.4512255 0.2908964 0.4812325 0.4806781 0.4295752 0.3637722 0.4351307 16 0.6378268 0.7422502 0.3986928 0.7436683 0.6050654 0.6722689 0.4598039 17 0.4707516 0.6941643 0.3506069 0.7015931 0.5629902 0.6241830 0.5427288 18 0.1417892 0.5198529 0.8057598 0.5359477 0.5495507 0.5733252 0.5698121 15 16 17 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 0.4513539 17 0.4032680 0.1909430 18 0.5096814 0.7796160 0.6125408 Metric : mixed ; Types = N, N, A, N, O, O, I, I Number of objects : 18 > (dfl2 <- daisy(flower, type = list(asymm = c(1, 3), ordratio = 7))) Dissimilarities : 1 2 3 4 5 6 7 2 0.9007353 3 0.6176471 0.5882353 4 0.4226891 0.5455882 0.6403361 5 0.4806723 0.7369748 0.5264706 0.7605042 6 0.2823529 0.7470588 0.3911765 0.4764706 0.4980392 7 0.3310924 0.6983193 0.6676471 0.4109244 0.5745098 0.2764706 8 0.5100840 0.4544118 0.6789916 0.3327731 0.5705882 0.6563025 0.4932773 9 0.5808824 0.5084034 0.5252101 0.8257353 0.3882353 0.6100840 0.6756303 10 0.6323529 0.5067227 0.5235294 0.5522059 0.4722689 0.4739496 0.6941176 11 0.3389706 0.7117647 0.6014706 0.6588235 0.4066176 0.4919118 0.5742647 12 0.4441176 0.5816176 0.5963235 0.5139706 0.5264706 0.5220588 0.6544118 13 0.5286765 0.6252101 0.6420168 0.7735294 0.3336134 0.5504202 0.6159664 14 0.3044118 0.5963235 0.6110294 0.3742647 0.5411765 0.3573529 0.5147059 15 0.6242647 0.4588235 0.6184874 0.5691176 0.5386555 0.6025210 0.3823529 16 0.6845588 0.3831933 0.6857143 0.3147059 0.8344538 0.5504202 0.4848739 17 0.7897059 0.2176471 0.6630252 0.4198529 0.8117647 0.6705882 0.6050420 18 0.5268908 0.4647059 0.8336134 0.5210084 0.5537815 0.7588235 0.5386555 8 9 10 11 12 13 14 2 3 4 5 6 7 8 9 0.6595588 10 0.6639706 0.5126050 11 0.5073529 0.4419118 0.4066176 12 0.4272059 0.4367647 0.3867647 0.2698529 13 0.6073529 0.2596639 0.4529412 0.3647059 0.2595588 14 0.4669118 0.4514706 0.3720588 0.2845588 0.1647059 0.3992647 15 0.4720588 0.2932773 0.5050420 0.4897059 0.4448529 0.3764706 0.4448529 16 0.6058824 0.7319328 0.3621849 0.7235294 0.5786765 0.6722689 0.4389706 17 0.4610294 0.7092437 0.3394958 0.7036765 0.5588235 0.6495798 0.5441176 18 0.1882353 0.5198529 0.8286765 0.5470588 0.5669118 0.5823529 0.5816176 15 16 17 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 0.4386555 17 0.4159664 0.1655462 18 0.5117647 0.7705882 0.6257353 Metric : mixed ; Types = A, N, A, N, O, O, T, I Number of objects : 18 > (dfl3 <- daisy(flower, type = list(asymm = 1:3))) Dissimilarities : 1 2 3 4 5 6 7 2 0.8875408 3 0.6025677 0.5882353 4 0.4020542 0.6290850 0.6458917 5 0.4703548 0.7115780 0.4968410 0.7295518 6 0.2593371 0.7549953 0.4004357 0.4788515 0.4591503 7 0.3287115 0.7998911 0.6528322 0.4581155 0.5596950 0.2523965 8 0.4838936 0.5304388 0.6901027 0.3947168 0.5340803 0.6531279 0.5477124 9 0.5808824 0.4933240 0.5101307 0.8076797 0.3779178 0.5870682 0.6732493 10 0.6094363 0.5178338 0.5346405 0.5570670 0.4357610 0.4707750 0.6703081 11 0.3278595 0.7096814 0.5993873 0.6518791 0.3864788 0.4828840 0.5652369 12 0.4267565 0.5857843 0.6004902 0.5132761 0.5000817 0.5248366 0.6391340 13 0.5196487 0.5998133 0.6166200 0.7464461 0.3336134 0.5170868 0.6032680 14 0.2926062 0.5949346 0.6096405 0.3680147 0.5203431 0.3656863 0.5049837 15 0.6221814 0.5204793 0.6057890 0.6321662 0.5259570 0.5818861 0.4460784 16 0.6935866 0.4766885 0.7111111 0.3906162 0.8344538 0.5837535 0.5805011 17 0.7765114 0.2539216 0.6630252 0.4853875 0.7863679 0.6785247 0.6910675 18 0.5268908 0.5160131 0.8185341 0.5837691 0.5434641 0.7358077 0.6256536 8 9 10 11 12 13 14 2 3 4 5 6 7 8 9 0.6366422 10 0.6639706 0.4864146 11 0.4955474 0.4308007 0.3948121 12 0.4216503 0.4194036 0.3812092 0.2636029 13 0.5754085 0.2493464 0.4164332 0.3445670 0.2331699 14 0.4558007 0.4396650 0.3609477 0.2838644 0.1591503 0.3784314 15 0.5156863 0.2908964 0.4812325 0.4806781 0.4295752 0.3637722 0.4351307 16 0.7289449 0.7422502 0.3986928 0.7436683 0.6050654 0.6722689 0.4598039 17 0.5380019 0.6941643 0.3506069 0.7015931 0.5629902 0.6241830 0.5427288 18 0.1890523 0.5198529 0.8057598 0.5359477 0.5495507 0.5733252 0.5698121 15 16 17 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 0.5265795 17 0.4704793 0.2227669 18 0.5824930 0.8909897 0.7000467 Metric : mixed ; Types = A, A, A, N, O, O, I, I Number of objects : 18 > > ## --- animals > data(animals) > d0 <- daisy(animals) Warning message: In daisy(animals) : binary variable(s) 1, 2, 3, 4, 5, 6 treated as interval scaled > > d1 <- daisy(animals - 1, type=list(asymm=c(2,4))) Warning message: In daisy(animals - 1, type = list(asymm = c(2, 4))) : binary variable(s) 1, 3, 5, 6 treated as interval scaled > (d2 <- daisy(animals - 1, type=list(symm = c(1,3,5,6), asymm=c(2,4)))) Dissimilarities : ant bee cat cpl chi cow duc bee 0.4000000 cat 1.0000000 0.8000000 cpl 0.5000000 0.4000000 0.5000000 chi 0.8000000 0.6666667 0.4000000 0.8000000 cow 0.7500000 0.6000000 0.2500000 0.7500000 0.2000000 duc 0.6000000 0.6000000 0.6000000 1.0000000 0.5000000 0.4000000 eag 0.8333333 0.8333333 0.5000000 0.8333333 0.5000000 0.6666667 0.3333333 ele 0.6000000 0.8333333 0.6000000 1.0000000 0.2000000 0.4000000 0.3333333 fly 0.4000000 0.4000000 0.8000000 0.4000000 1.0000000 1.0000000 0.6000000 fro 0.5000000 0.8000000 0.7500000 0.7500000 0.5000000 0.7500000 0.6000000 her 0.2500000 0.6000000 0.7500000 0.7500000 0.6000000 0.5000000 0.4000000 lio 0.7500000 0.6000000 0.2500000 0.7500000 0.0000000 0.0000000 0.4000000 liz 0.5000000 0.8000000 0.5000000 0.5000000 0.8000000 0.7500000 0.6000000 lob 0.0000000 0.5000000 1.0000000 0.3333333 1.0000000 1.0000000 0.7500000 man 0.8000000 0.6666667 0.4000000 0.8000000 0.0000000 0.2000000 0.5000000 rab 0.7500000 0.6000000 0.2500000 0.7500000 0.2000000 0.0000000 0.4000000 sal 0.3333333 0.7500000 0.6666667 0.6666667 0.7500000 0.6666667 0.5000000 spi 0.5000000 0.4000000 0.5000000 0.0000000 0.7500000 0.7500000 1.0000000 wha 0.6000000 0.8333333 0.6000000 1.0000000 0.2000000 0.4000000 0.3333333 eag ele fly fro her lio liz bee cat cpl chi cow duc eag ele 0.3333333 fly 0.5000000 0.8333333 fro 0.4000000 0.2500000 0.6000000 her 0.6666667 0.4000000 0.6000000 0.2500000 lio 0.6000000 0.2500000 1.0000000 0.6666667 0.5000000 liz 0.5000000 0.6000000 0.4000000 0.2500000 0.2500000 0.7500000 lob 0.8000000 0.7500000 0.2500000 0.5000000 0.3333333 1.0000000 0.3333333 man 0.5000000 0.2000000 1.0000000 0.5000000 0.6000000 0.0000000 0.8000000 rab 0.6666667 0.4000000 1.0000000 0.7500000 0.5000000 0.0000000 0.7500000 sal 0.6000000 0.5000000 0.5000000 0.2500000 0.0000000 0.6666667 0.0000000 spi 0.8000000 1.0000000 0.4000000 0.6666667 0.7500000 0.7500000 0.5000000 wha 0.3333333 0.0000000 0.8333333 0.2500000 0.4000000 0.2500000 0.6000000 lob man rab sal spi bee cat cpl chi cow duc eag ele fly fro her lio liz lob man 1.0000000 rab 1.0000000 0.2000000 sal 0.3333333 0.7500000 0.6666667 spi 0.3333333 0.7500000 0.7500000 0.6666667 wha 0.7500000 0.2000000 0.4000000 0.5000000 1.0000000 Metric : mixed ; Types = S, A, S, A, S, S Number of objects : 20 > stopifnot(c(d1) == c(d2)) > > d3 <- daisy(2 - animals, type=list(asymm=c(2,4))) Warning message: In daisy(2 - animals, type = list(asymm = c(2, 4))) : binary variable(s) 1, 3, 5, 6 treated as interval scaled > (d4 <- daisy(2 - animals, type=list(symm = c(1,3,5,6), asymm=c(2,4)))) Dissimilarities : ant bee cat cpl chi cow duc bee 0.3333333 cat 0.6666667 0.6666667 cpl 0.3333333 0.3333333 0.3333333 chi 0.6666667 0.6666667 0.3333333 0.6666667 cow 0.5000000 0.5000000 0.1666667 0.5000000 0.1666667 duc 0.5000000 0.6000000 0.5000000 0.8333333 0.5000000 0.3333333 eag 0.8333333 1.0000000 0.5000000 0.8333333 0.6000000 0.6666667 0.4000000 ele 0.5000000 0.8333333 0.5000000 0.8333333 0.2000000 0.3333333 0.3333333 fly 0.3333333 0.4000000 0.6666667 0.3333333 1.0000000 0.8333333 0.6000000 fro 0.4000000 0.8000000 0.6000000 0.6000000 0.5000000 0.6000000 0.6000000 her 0.1666667 0.5000000 0.5000000 0.5000000 0.5000000 0.3333333 0.3333333 lio 0.6000000 0.6000000 0.2000000 0.6000000 0.0000000 0.0000000 0.4000000 liz 0.3333333 0.6666667 0.3333333 0.3333333 0.6666667 0.5000000 0.5000000 lob 0.0000000 0.4000000 0.6000000 0.2000000 0.8000000 0.6000000 0.6000000 man 0.6666667 0.6666667 0.3333333 0.6666667 0.0000000 0.1666667 0.5000000 rab 0.5000000 0.5000000 0.1666667 0.5000000 0.1666667 0.0000000 0.3333333 sal 0.2000000 0.6000000 0.4000000 0.4000000 0.6000000 0.4000000 0.4000000 spi 0.4000000 0.4000000 0.4000000 0.0000000 0.6000000 0.6000000 1.0000000 wha 0.5000000 0.8333333 0.5000000 0.8333333 0.2000000 0.3333333 0.3333333 eag ele fly fro her lio liz bee cat cpl chi cow duc eag ele 0.4000000 fly 0.6000000 0.8333333 fro 0.5000000 0.2500000 0.6000000 her 0.6666667 0.3333333 0.5000000 0.2000000 lio 0.6000000 0.2000000 1.0000000 0.5000000 0.4000000 liz 0.5000000 0.5000000 0.3333333 0.2000000 0.1666667 0.6000000 lob 0.8000000 0.6000000 0.2000000 0.4000000 0.2000000 0.7500000 0.2000000 man 0.6000000 0.2000000 1.0000000 0.5000000 0.5000000 0.0000000 0.6666667 rab 0.6666667 0.3333333 0.8333333 0.6000000 0.3333333 0.0000000 0.5000000 sal 0.6000000 0.4000000 0.4000000 0.2000000 0.0000000 0.5000000 0.0000000 spi 0.8000000 0.8000000 0.4000000 0.5000000 0.6000000 0.6000000 0.4000000 wha 0.4000000 0.0000000 0.8333333 0.2500000 0.3333333 0.2000000 0.5000000 lob man rab sal spi bee cat cpl chi cow duc eag ele fly fro her lio liz lob man 0.8000000 rab 0.6000000 0.1666667 sal 0.2000000 0.6000000 0.4000000 spi 0.2500000 0.6000000 0.6000000 0.5000000 wha 0.6000000 0.2000000 0.3333333 0.4000000 0.8000000 Metric : mixed ; Types = S, A, S, A, S, S Number of objects : 20 > stopifnot(c(d3) == c(d4)) > > pairs(cbind(d0,d2,d4), + main = "Animals -- symmetric and asymm. dissimilarities") > > proc.time() user system elapsed 0.43 0.14 0.56