R Under development (unstable) (2023-10-19 r85354) -- "Unsuffered Consequences" Copyright (C) 2023 The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu 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. > library(cluster) > > ## generate 1500 objects, divided into 2 clusters. > suppressWarnings(RNGversion("3.5.0")) # << as long as we don't have R >= 3.6.0 > set.seed(144) > x <- rbind(cbind(rnorm(700, 0,8), rnorm(700, 0,8)), + cbind(rnorm(800,50,8), rnorm(800,10,8))) > > isEq <- function(x,y, epsF = 100) + is.logical(r <- all.equal(x,y, tol = epsF * .Machine$double.eps)) && r > > .proctime00 <- proc.time() > > ## full size sample {should be = pam()}: > n0 <- length(iSml <- c(1:70, 701:720)) > summary(clara0 <- clara(x[iSml,], k = 2, sampsize = n0)) Object of class 'clara' from call: clara(x = x[iSml, ], k = 2, sampsize = n0) Medoids: [,1] [,2] [1,] -1.499522 -1.944452 [2,] 48.629631 12.998515 Objective function: 10.23588 Numerical information per cluster: size max_diss av_diss isolation [1,] 70 24.81995 10.25745 0.4744879 [2,] 20 19.07782 10.16040 0.3647145 Average silhouette width per cluster: [1] 0.7144587 0.7090915 Average silhouette width of best sample: 0.713266 Best sample: [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 [26] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 [51] 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 [76] 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 Clustering vector: [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [39] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 [77] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 Silhouette plot information for best sample: cluster neighbor sil_width 45 1 2 0.8033727 60 1 2 0.8021017 55 1 2 0.8005931 66 1 2 0.8002776 58 1 2 0.7991899 11 1 2 0.7991773 41 1 2 0.7973302 26 1 2 0.7962397 63 1 2 0.7962229 13 1 2 0.7949705 67 1 2 0.7942590 54 1 2 0.7936184 17 1 2 0.7916087 16 1 2 0.7913570 39 1 2 0.7912755 6 1 2 0.7840455 34 1 2 0.7833568 49 1 2 0.7819733 9 1 2 0.7789087 23 1 2 0.7785009 32 1 2 0.7757325 22 1 2 0.7655369 61 1 2 0.7639754 12 1 2 0.7639644 5 1 2 0.7606436 18 1 2 0.7579145 56 1 2 0.7566307 3 1 2 0.7537894 24 1 2 0.7531180 50 1 2 0.7517817 48 1 2 0.7501998 25 1 2 0.7499655 59 1 2 0.7472022 19 1 2 0.7445038 65 1 2 0.7398395 28 1 2 0.7377377 38 1 2 0.7370935 7 1 2 0.7335940 40 1 2 0.7310012 14 1 2 0.7294895 62 1 2 0.7254478 70 1 2 0.7163214 4 1 2 0.7157257 21 1 2 0.7148663 64 1 2 0.7108496 2 1 2 0.7062831 15 1 2 0.7015120 52 1 2 0.6978313 37 1 2 0.6954023 31 1 2 0.6932905 33 1 2 0.6888478 10 1 2 0.6805028 20 1 2 0.6766854 43 1 2 0.6761461 8 1 2 0.6749706 27 1 2 0.6671817 35 1 2 0.6632888 68 1 2 0.6587599 30 1 2 0.6554989 36 1 2 0.6228481 53 1 2 0.6203313 57 1 2 0.6191666 42 1 2 0.6142020 47 1 2 0.6024151 1 1 2 0.5814464 69 1 2 0.5091186 46 1 2 0.4961302 44 1 2 0.4849961 29 1 2 0.4569316 51 1 2 0.4230181 81 2 1 0.7965942 71 2 1 0.7961971 85 2 1 0.7919593 74 2 1 0.7869047 82 2 1 0.7795304 78 2 1 0.7788873 79 2 1 0.7729041 72 2 1 0.7492980 88 2 1 0.7447973 87 2 1 0.7404399 76 2 1 0.7352351 77 2 1 0.7216838 86 2 1 0.7165677 84 2 1 0.6952406 73 2 1 0.6942882 83 2 1 0.6621568 80 2 1 0.6368446 90 2 1 0.5743228 75 2 1 0.5597232 89 2 1 0.4482549 4005 dissimilarities, summarized : Min. 1st Qu. Median Mean 3rd Qu. Max. 0.1865 11.5850 20.0580 27.8150 45.5780 85.2320 Metric : euclidean Number of objects : 90 Available components: [1] "sample" "medoids" "i.med" "clustering" "objective" [6] "clusinfo" "diss" "call" "silinfo" "data" > pam0 <- pam (x[iSml,], k = 2) > stopifnot(identical(clara0$clustering, pam0$clustering) + , isEq(clara0$objective, unname(pam0$objective[2])) + ) > > summary(clara2 <- clara(x, 2)) Object of class 'clara' from call: clara(x = x, k = 2) Medoids: [,1] [,2] [1,] 2.012828 -1.896095 [2,] 51.494628 10.274769 Objective function: 10.23445 Numerical information per cluster: size max_diss av_diss isolation [1,] 700 36.84408 10.49814 0.7230478 [2,] 800 30.89896 10.00373 0.6063775 Average silhouette width per cluster: [1] 0.7562366 0.7203254 Average silhouette width of best sample: 0.733384 Best sample: [1] 21 23 50 97 142 168 191 192 197 224 325 328 433 458 471 [16] 651 712 714 722 797 805 837 909 919 926 999 1006 1018 1019 1049 [31] 1081 1084 1132 1144 1150 1201 1207 1250 1291 1307 1330 1374 1426 1428 Clustering vector: [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [38] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [75] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [112] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [149] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [186] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [223] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [260] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [297] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [334] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [371] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [408] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [445] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [482] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [519] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [556] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [593] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [630] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [667] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 [704] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [741] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [778] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [815] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [852] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [889] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [926] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [963] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [1000] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [1037] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [1074] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [1111] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [1148] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [1185] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [1222] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [1259] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [1296] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [1333] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [1370] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [1407] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [1444] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [1481] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 Silhouette plot information for best sample: cluster neighbor sil_width 325 1 2 0.8261589 191 1 2 0.8206687 23 1 2 0.8149640 97 1 2 0.8048084 433 1 2 0.8017745 458 1 2 0.8008324 471 1 2 0.7958547 328 1 2 0.7689099 142 1 2 0.7619508 21 1 2 0.7607528 197 1 2 0.7606641 50 1 2 0.7509131 192 1 2 0.7098473 651 1 2 0.7035969 224 1 2 0.6843886 168 1 2 0.5337006 1084 2 1 0.8180447 1081 2 1 0.8171686 1201 2 1 0.8170847 1291 2 1 0.8167148 1307 2 1 0.8166841 1144 2 1 0.8159947 999 2 1 0.8135303 1426 2 1 0.8023538 1049 2 1 0.8022891 1250 2 1 0.8014300 712 2 1 0.7859324 837 2 1 0.7792784 1018 2 1 0.7764837 919 2 1 0.7651939 1374 2 1 0.7648534 1428 2 1 0.7516819 1330 2 1 0.7505861 1006 2 1 0.7368113 714 2 1 0.7237565 1150 2 1 0.7046060 1132 2 1 0.6940608 909 2 1 0.6859682 926 2 1 0.6725631 722 2 1 0.6572791 797 2 1 0.6395698 1019 2 1 0.6083662 805 2 1 0.2814164 1207 2 1 0.2694097 946 dissimilarities, summarized : Min. 1st Qu. Median Mean 3rd Qu. Max. 0.4846 12.3230 26.4990 32.2130 52.3910 77.1750 Metric : euclidean Number of objects : 44 Available components: [1] "sample" "medoids" "i.med" "clustering" "objective" [6] "clusinfo" "diss" "call" "silinfo" "data" > > clInd <- c("objective", "i.med", "medoids", "clusinfo") > clInS <- c(clInd, "sample") > ## clara() {as original code} always draws the *same* random samples !!!! > clara(x, 2, samples = 50)[clInd] $objective [1] 10.06735 $i.med [1] 177 1115 $medoids [,1] [,2] [1,] -0.2538744 -1.209148 [2,] 50.0372683 9.501125 $clusinfo size max_diss av_diss isolation [1,] 700 34.67208 10.193945 0.6743054 [2,] 800 29.51964 9.956571 0.5741003 > for(i in 1:20) + print(clara(x[sample(nrow(x)),], 2, samples = 50)[clInd]) $objective [1] 10.05727 $i.med [1] 936 192 $medoids [,1] [,2] [1,] 50.03726827 9.501124850 [2,] -0.03900399 -0.009078886 $clusinfo size max_diss av_diss isolation [1,] 800 29.51964 9.956571 0.5791419 [2,] 700 34.06055 10.172348 0.6682295 $objective [1] 10.05296 $i.med [1] 468 1394 $medoids [,1] [,2] [1,] -0.3292826 -0.2398794 [2,] 50.0372683 9.5011249 $clusinfo size max_diss av_diss isolation [1,] 700 33.98451 10.163128 0.6624677 [2,] 800 29.51964 9.956571 0.5754330 $objective [1] 10.05852 $i.med [1] 1171 379 $medoids [,1] [,2] [1,] 50.9444060 9.6723175 [2,] -0.3292826 -0.2398794 $clusinfo size max_diss av_diss isolation [1,] 800 30.10388 9.966988 0.5764486 [2,] 700 33.98451 10.163128 0.6507574 $objective [1] 10.07051 $i.med [1] 75 1254 $medoids [,1] [,2] [1,] -0.9493373 0.3552542 [2,] 50.5455985 9.3904972 $clusinfo size max_diss av_diss isolation [1,] 700 33.12704 10.191999 0.6336273 [2,] 800 29.66384 9.964205 0.5673860 $objective [1] 10.0613 $i.med [1] 199 134 $medoids [,1] [,2] [1,] -0.03900399 -0.009078886 [2,] 49.59384120 9.792964832 $clusinfo size max_diss av_diss isolation [1,] 700 34.06055 10.172348 0.6732466 [2,] 800 29.57491 9.964138 0.5845827 $objective [1] 10.06101 $i.med [1] 1453 1122 $medoids [,1] [,2] [1,] 50.0372683 9.50112485 [2,] -0.9691441 0.03342515 $clusinfo size max_diss av_diss isolation [1,] 800 29.51964 9.956571 0.5690241 [2,] 700 33.31923 10.180359 0.6422655 $objective [1] 10.08603 $i.med [1] 613 318 $medoids [,1] [,2] [1,] 50.0627056 9.478225 [2,] -0.2902194 1.026496 $clusinfo size max_diss av_diss isolation [1,] 800 29.51131 9.957225 0.5780037 [2,] 700 33.21560 10.233240 0.6505552 $objective [1] 10.07293 $i.med [1] 618 406 $medoids [,1] [,2] [1,] 50.3621263 9.0207185 [2,] -0.2092816 -0.5916053 $clusinfo size max_diss av_diss isolation [1,] 800 29.25143 9.990206 0.5682446 [2,] 700 34.30301 10.167473 0.6663777 $objective [1] 10.0592 $i.med [1] 1279 1349 $medoids [,1] [,2] [1,] 50.1502433 10.60358224 [2,] -0.9691441 0.03342515 $clusinfo size max_diss av_diss isolation [1,] 800 30.54975 9.953191 0.5852356 [2,] 700 33.31923 10.180359 0.6382900 $objective [1] 10.06241 $i.med [1] 1293 21 $medoids [,1] [,2] [1,] 50.5809098 9.7418386 [2,] -0.9493373 0.3552542 $clusinfo size max_diss av_diss isolation [1,] 800 29.98892 9.949013 0.5725461 [2,] 700 33.12704 10.191999 0.6324587 $objective [1] 10.0592 $i.med [1] 337 675 $medoids [,1] [,2] [1,] -0.9691441 0.03342515 [2,] 50.1502433 10.60358224 $clusinfo size max_diss av_diss isolation [1,] 700 33.31923 10.180359 0.6382900 [2,] 800 30.54975 9.953191 0.5852356 $objective [1] 10.05697 $i.med [1] 22 574 $medoids [,1] [,2] [1,] 50.5809098 9.74183863 [2,] -0.9691441 0.03342515 $clusinfo size max_diss av_diss isolation [1,] 800 29.98892 9.949013 0.5716937 [2,] 700 33.31923 10.180359 0.6351809 $objective [1] 10.05096 $i.med [1] 739 808 $medoids [,1] [,2] [1,] 50.5809098 9.7418386 [2,] -0.2092816 -0.5916053 $clusinfo size max_diss av_diss isolation [1,] 800 29.98892 9.949013 0.5785936 [2,] 700 34.30301 10.167473 0.6618278 $objective [1] 10.06135 $i.med [1] 1431 485 $medoids [,1] [,2] [1,] 50.0627056 9.47822525 [2,] -0.9691441 0.03342515 $clusinfo size max_diss av_diss isolation [1,] 800 29.51131 9.957225 0.5686352 [2,] 700 33.31923 10.180359 0.6420076 $objective [1] 10.05324 $i.med [1] 10 1221 $medoids [,1] [,2] [1,] 50.58090982 9.741838628 [2,] -0.03900399 -0.009078886 $clusinfo size max_diss av_diss isolation [1,] 800 29.98892 9.949013 0.5817385 [2,] 700 34.06055 10.172348 0.6607218 $objective [1] 10.06101 $i.med [1] 1249 1411 $medoids [,1] [,2] [1,] -0.9691441 0.03342515 [2,] 50.0372683 9.50112485 $clusinfo size max_diss av_diss isolation [1,] 700 33.31923 10.180359 0.6422655 [2,] 800 29.51964 9.956571 0.5690241 $objective [1] 10.05296 $i.med [1] 610 21 $medoids [,1] [,2] [1,] -0.3292826 -0.2398794 [2,] 50.0372683 9.5011249 $clusinfo size max_diss av_diss isolation [1,] 700 33.98451 10.163128 0.6624677 [2,] 800 29.51964 9.956571 0.5754330 $objective [1] 10.06486 $i.med [1] 1101 397 $medoids [,1] [,2] [1,] -0.9691441 0.03342515 [2,] 50.1066826 9.35514422 $clusinfo size max_diss av_diss isolation [1,] 700 33.31923 10.180359 0.6417479 [2,] 800 29.42336 9.963794 0.5667111 $objective [1] 10.07521 $i.med [1] 838 356 $medoids [,1] [,2] [1,] 50.36212634 9.020718482 [2,] -0.03900399 -0.009078886 $clusinfo size max_diss av_diss isolation [1,] 800 29.25143 9.990206 0.5712766 [2,] 700 34.06055 10.172348 0.6651980 $objective [1] 10.05906 $i.med [1] 1270 1024 $medoids [,1] [,2] [1,] 50.5455985 9.3904972 [2,] -0.2092816 -0.5916053 $clusinfo size max_diss av_diss isolation [1,] 800 29.66384 9.964205 0.5734673 [2,] 700 34.30301 10.167473 0.6631526 > > clara(x, 2, samples = 101)[clInd] $objective [1] 10.05727 $i.med [1] 286 1115 $medoids [,1] [,2] [1,] -0.03900399 -0.009078886 [2,] 50.03726827 9.501124850 $clusinfo size max_diss av_diss isolation [1,] 700 34.06055 10.172348 0.6682295 [2,] 800 29.51964 9.956571 0.5791419 > clara(x, 2, samples = 149)[clInd] $objective [1] 10.05319 $i.med [1] 238 1272 $medoids [,1] [,2] [1,] -0.2092816 -0.5916053 [2,] 50.1502433 10.6035822 $clusinfo size max_diss av_diss isolation [1,] 700 34.30301 10.167473 0.6649301 [2,] 800 30.54975 9.953191 0.5921768 > clara(x, 2, samples = 200)[clInd] $objective [1] 10.05319 $i.med [1] 238 1272 $medoids [,1] [,2] [1,] -0.2092816 -0.5916053 [2,] 50.1502433 10.6035822 $clusinfo size max_diss av_diss isolation [1,] 700 34.30301 10.167473 0.6649301 [2,] 800 30.54975 9.953191 0.5921768 > ## Note that this last one is practically identical to the slower pam() one > > (ii <- sample(length(x), 20)) [1] 249 452 2663 2537 2235 2421 1004 1834 2602 397 717 2805 1575 1281 283 [16] 1657 1749 820 269 519 > ## This was bogous (and lead to seg.faults); now properly gives error. > ## but for these, now see ./clara-NAs.R > if(FALSE) { ## ~~~~~~~~~~~~~ + x[ii] <- NA + try( clara(x, 2, samples = 50) ) + } > > ###-- Larger example: 2000 objects, divided into 5 clusters. > x5 <- rbind(cbind(rnorm(400, 0,4), rnorm(400, 0,4)), + cbind(rnorm(400,10,8), rnorm(400,40,6)), + cbind(rnorm(400,30,4), rnorm(400, 0,4)), + cbind(rnorm(400,40,4), rnorm(400,20,2)), + cbind(rnorm(400,50,4), rnorm(400,50,4))) > ## plus 1 random dimension > x5 <- cbind(x5, rnorm(nrow(x5))) > > clara(x5, 5) Call: clara(x = x5, k = 5) Medoids: [,1] [,2] [,3] [1,] 0.5850466 -2.222194 -0.63631241 [2,] 8.0131143 42.708122 -0.31693240 [3,] 42.6657812 21.123133 -0.62411426 [4,] 50.6470292 48.480686 -0.09146223 [5,] 28.6470950 -2.544131 -0.22186047 Objective function: 6.100721 Clustering vector: int [1:2000] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... Cluster sizes: 400 396 408 401 395 Best sample: [1] 23 130 178 202 267 297 338 357 376 387 439 441 638 647 662 [16] 719 723 802 874 880 994 1038 1056 1097 1184 1215 1225 1268 1271 1282 [31] 1346 1442 1446 1474 1496 1515 1585 1590 1605 1641 1680 1687 1696 1728 1742 [46] 1761 1857 1909 1951 1956 Available components: [1] "sample" "medoids" "i.med" "clustering" "objective" [6] "clusinfo" "diss" "call" "silinfo" "data" > summary(clara(x5, 5, samples = 50)) Object of class 'clara' from call: clara(x = x5, k = 5, samples = 50) Medoids: [,1] [,2] [,3] [1,] -0.8427864 0.1606105 -0.70362181 [2,] 12.0389703 39.0303445 0.19158023 [3,] 39.6341676 20.7182868 0.43978514 [4,] 50.6470292 48.4806864 -0.09146223 [5,] 30.6814242 -0.1072177 -0.25861548 Objective function: 5.743812 Numerical information per cluster: size max_diss av_diss isolation [1,] 400 15.20728 5.207177 0.4823345 [2,] 397 24.25898 8.677062 0.7324727 [3,] 406 18.39064 4.369617 0.8109074 [4,] 401 18.28050 5.260543 0.6119680 [5,] 396 12.69653 5.243478 0.5598344 Average silhouette width per cluster: [1] 0.7433532 0.6956424 0.7315944 0.7336104 0.7079360 Average silhouette width of best sample: 0.7188531 Best sample: [1] 106 130 145 213 275 316 434 444 486 501 630 693 713 739 773 [16] 804 808 821 823 899 914 948 961 972 980 987 1076 1114 1126 1127 [31] 1169 1175 1203 1225 1228 1242 1269 1397 1405 1421 1595 1606 1658 1703 1777 [46] 1834 1857 1881 1937 1999 Clustering vector: [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [38] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [75] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [112] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [149] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [186] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [223] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [260] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [297] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [334] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 [371] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 [408] 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [445] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [482] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [519] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [556] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [593] 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 4 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [630] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [667] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [704] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [741] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 [778] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 5 5 5 5 5 5 5 5 5 5 [815] 5 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 [852] 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 [889] 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 [926] 5 5 5 5 5 5 5 5 5 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 [963] 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 [1000] 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 [1037] 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 [1074] 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 [1111] 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 [1148] 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 [1185] 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 [1222] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 [1259] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 [1296] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 [1333] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 [1370] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 [1407] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 [1444] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 [1481] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 [1518] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 [1555] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 [1592] 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 [1629] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 [1666] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 [1703] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 [1740] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 [1777] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 [1814] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 [1851] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 [1888] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 [1925] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 [1962] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 [1999] 4 4 Silhouette plot information for best sample: cluster neighbor sil_width 130 1 5 0.8123353 275 1 5 0.7945197 316 1 5 0.7561799 213 1 5 0.7459412 106 1 5 0.6869957 145 1 5 0.6641473 630 2 3 0.7819320 739 2 3 0.7774128 486 2 3 0.7559683 713 2 3 0.7316982 444 2 3 0.7204625 501 2 3 0.7091146 773 2 1 0.6886472 693 2 3 0.5855803 434 2 3 0.5099654 1225 3 5 0.8105776 1203 3 5 0.7965773 1595 3 5 0.7842711 1269 3 5 0.7799931 1242 3 5 0.7625442 1397 3 5 0.7315512 1228 3 5 0.7262025 1421 3 5 0.6011616 1405 3 5 0.5914707 1999 4 3 0.8050046 1857 4 3 0.8030709 1658 4 3 0.7941141 1777 4 3 0.7865209 1937 4 3 0.7831996 1881 4 3 0.7504779 1834 4 3 0.6614223 1606 4 3 0.6373808 1703 4 3 0.5813025 804 5 3 0.8021043 987 5 3 0.7999064 1076 5 3 0.7907769 948 5 3 0.7905304 961 5 3 0.7716289 823 5 3 0.7657693 808 5 3 0.7510670 914 5 3 0.7358231 1175 5 3 0.7337485 1169 5 3 0.7254812 972 5 3 0.7118795 821 5 3 0.7101558 899 5 1 0.6580927 1114 5 3 0.6552887 1127 5 3 0.6292428 1126 5 3 0.5362475 980 5 1 0.4671695 1225 dissimilarities, summarized : Min. 1st Qu. Median Mean 3rd Qu. Max. 0.6968 19.3160 34.0920 33.0700 46.2540 92.2530 Metric : euclidean Number of objects : 50 Available components: [1] "sample" "medoids" "i.med" "clustering" "objective" [6] "clusinfo" "diss" "call" "silinfo" "data" > ## 3 "half" samples: > clara(x5, 5, samples = 999) Call: clara(x = x5, k = 5, samples = 999) Medoids: [,1] [,2] [,3] [1,] 0.2143499 0.3891695 0.45577894 [2,] 10.9779485 39.6788652 -0.23487762 [3,] 40.2944064 20.2221253 0.21417849 [4,] 50.7170411 49.7645642 -0.43318939 [5,] 29.7257398 -0.5981739 -0.05616701 Objective function: 5.659041 Clustering vector: int [1:2000] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... Cluster sizes: 400 397 407 401 395 Best sample: [1] 1 2 103 147 155 176 179 247 262 288 365 369 372 470 486 [16] 573 759 779 785 791 797 822 875 883 913 954 1107 1114 1154 1156 [31] 1171 1175 1206 1213 1218 1233 1243 1394 1439 1444 1512 1741 1777 1798 1800 [46] 1818 1845 1946 1948 1973 Available components: [1] "sample" "medoids" "i.med" "clustering" "objective" [6] "clusinfo" "diss" "call" "silinfo" "data" > clara(x5, 5, samples = 1000) Call: clara(x = x5, k = 5, samples = 1000) Medoids: [,1] [,2] [,3] [1,] 0.2143499 0.3891695 0.45577894 [2,] 10.9779485 39.6788652 -0.23487762 [3,] 40.2944064 20.2221253 0.21417849 [4,] 50.7170411 49.7645642 -0.43318939 [5,] 29.7257398 -0.5981739 -0.05616701 Objective function: 5.659041 Clustering vector: int [1:2000] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... Cluster sizes: 400 397 407 401 395 Best sample: [1] 1 2 103 147 155 176 179 247 262 288 365 369 372 470 486 [16] 573 759 779 785 791 797 822 875 883 913 954 1107 1114 1154 1156 [31] 1171 1175 1206 1213 1218 1233 1243 1394 1439 1444 1512 1741 1777 1798 1800 [46] 1818 1845 1946 1948 1973 Available components: [1] "sample" "medoids" "i.med" "clustering" "objective" [6] "clusinfo" "diss" "call" "silinfo" "data" > clara(x5, 5, samples = 1001) Call: clara(x = x5, k = 5, samples = 1001) Medoids: [,1] [,2] [,3] [1,] 0.2143499 0.3891695 0.45577894 [2,] 10.9779485 39.6788652 -0.23487762 [3,] 40.2944064 20.2221253 0.21417849 [4,] 50.7170411 49.7645642 -0.43318939 [5,] 29.7257398 -0.5981739 -0.05616701 Objective function: 5.659041 Clustering vector: int [1:2000] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... Cluster sizes: 400 397 407 401 395 Best sample: [1] 1 2 103 147 155 176 179 247 262 288 365 369 372 470 486 [16] 573 759 779 785 791 797 822 875 883 913 954 1107 1114 1154 1156 [31] 1171 1175 1206 1213 1218 1233 1243 1394 1439 1444 1512 1741 1777 1798 1800 [46] 1818 1845 1946 1948 1973 Available components: [1] "sample" "medoids" "i.med" "clustering" "objective" [6] "clusinfo" "diss" "call" "silinfo" "data" > > clara(x5, 5, samples = 2000)#full sample Call: clara(x = x5, k = 5, samples = 2000) Medoids: [,1] [,2] [,3] [1,] 0.2143499 0.3891695 0.45577894 [2,] 10.5993345 39.8970536 -0.39199265 [3,] 40.3370139 20.3148331 -0.06033818 [4,] 50.7170411 49.7645642 -0.43318939 [5,] 29.7257398 -0.5981739 -0.05616701 Objective function: 5.65785 Clustering vector: int [1:2000] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... Cluster sizes: 400 397 407 401 395 Best sample: [1] 84 106 164 226 284 288 329 423 430 450 469 593 603 654 742 [16] 887 929 970 974 1035 1043 1096 1171 1187 1192 1302 1307 1327 1371 1431 [31] 1433 1439 1440 1452 1513 1522 1525 1548 1565 1593 1620 1639 1654 1688 1740 [46] 1761 1832 1845 1895 1899 Available components: [1] "sample" "medoids" "i.med" "clustering" "objective" [6] "clusinfo" "diss" "call" "silinfo" "data" > > ###--- Start a version of example(clara) ------- > > ## xclara : artificial data with 3 clusters of 1000 bivariate objects each. > data(xclara) > (clx3 <- clara(xclara, 3)) Call: clara(x = xclara, k = 3) Medoids: V1 V2 [1,] 5.553391 13.306260 [2,] 43.198760 60.360720 [3,] 74.591890 -6.969018 Objective function: 13.225 Clustering vector: int [1:3000] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... Cluster sizes: 900 1148 952 Best sample: [1] 20 30 46 91 92 169 179 187 209 223 382 450 555 971 1004 [16] 1025 1058 1277 1281 1302 1319 1361 1362 1513 1591 1623 1628 1729 1752 1791 [31] 1907 1917 1946 2064 2089 2498 2527 2537 2545 2591 2672 2722 2729 2790 2797 [46] 2852 Available components: [1] "sample" "medoids" "i.med" "clustering" "objective" [6] "clusinfo" "diss" "call" "silinfo" "data" > ## Plot similar to Figure 5 in Struyf et al (1996) > plot(clx3) > > ## The rngR = TRUE case is currently in the non-strict tests > ## ./clara-ex.R > ## ~~~~~~~~~~~~ > > ###--- End version of example(clara) ------- > > ## small example(s): > data(ruspini) > > clara(ruspini,4) Call: clara(x = ruspini, k = 4) Medoids: x y 10 19 65 32 44 149 52 99 119 67 66 18 Objective function: 11.51066 Clustering vector: Named int [1:75] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... - attr(*, "names")= chr [1:75] "1" "2" "3" "4" "5" "6" "7" ... Cluster sizes: 20 23 17 15 Best sample: [1] 2 3 4 5 6 7 8 9 10 16 18 19 20 21 22 23 25 29 30 32 34 35 36 37 41 [26] 42 43 44 46 47 49 50 52 53 54 58 59 60 61 63 65 66 67 69 71 72 73 75 Available components: [1] "sample" "medoids" "i.med" "clustering" "objective" [6] "clusinfo" "diss" "call" "silinfo" "data" > > rus <- data.matrix(ruspini); storage.mode(rus) <- "double" > ru2 <- rus[c(1:7,21:28, 45:51, 61:69),] > ru3 <- rus[c(1:4,21:25, 45:48, 61:63),] > ru4 <- rus[c(1:2,21:22, 45:47),] > ru5 <- rus[c(1:2,21, 45),] > daisy(ru5, "manhattan") Dissimilarities : 1 2 21 2 11 21 118 107 45 143 132 89 Metric : manhattan Number of objects : 4 > ## Dissimilarities : 11 118 143 107 132 89 > > ## no problem anymore, since 2002-12-28: > ## sampsize >= k+1 is now enforced: > ## clara(ru5, k=3, met="manhattan", sampsize=3,trace=2)[clInS] > clara(ru5, k=3, met="manhattan", sampsize=4,trace=1)[clInS] C clara(): (nsam,nran,n) = (4,5,4); 'full_sample', -> dysta2(); obj= 2.75 resul(), black() and return() from C. $objective [1] 2.75 $i.med [1] 2 3 4 $medoids x y 2 5 63 21 28 147 45 85 115 $clusinfo size max_diss av_diss isolation [1,] 2 11 5.5 0.1028037 [2,] 1 0 0.0 0.0000000 [3,] 1 0 0.0 0.0000000 $sample [1] "1" "2" "21" "45" > > daisy(ru4, "manhattan") Dissimilarities : 1 2 21 22 45 46 2 11 21 118 107 22 124 113 6 45 143 132 89 87 46 124 113 108 106 19 47 115 104 103 101 28 9 Metric : manhattan Number of objects : 7 > ## this one (k=3) gave problems, from ss = 6 on ___ still after 2002-12-28 ___ : > for(ss in 4:nrow(ru4)){ + cat("---\n\nsample size = ",ss,"\n") + print(clara(ru4,k=3,met="manhattan",sampsize=ss)[clInS]) + } --- sample size = 4 $objective [1] 7.714286 $i.med [1] 1 4 7 $medoids x y 1 4 53 22 32 149 47 78 94 $clusinfo size max_diss av_diss isolation [1,] 2 11 5.50000 0.09565217 [2,] 2 6 3.00000 0.05940594 [3,] 3 28 12.33333 0.27722772 $sample [1] "1" "22" "45" "47" --- sample size = 5 $objective [1] 7.714286 $i.med [1] 2 3 7 $medoids x y 2 5 63 21 28 147 47 78 94 $clusinfo size max_diss av_diss isolation [1,] 2 11 5.50000 0.10576923 [2,] 2 6 3.00000 0.05825243 [3,] 3 28 12.33333 0.27184466 $sample [1] "2" "21" "22" "45" "47" --- sample size = 6 $objective [1] 6.428571 $i.med [1] 2 4 6 $medoids x y 2 5 63 22 32 149 46 85 96 $clusinfo size max_diss av_diss isolation [1,] 2 11 5.500000 0.09734513 [2,] 2 6 3.000000 0.05660377 [3,] 3 19 9.333333 0.17924528 $sample [1] "2" "21" "22" "45" "46" "47" --- sample size = 7 $objective [1] 6.428571 $i.med [1] 2 4 6 $medoids x y 2 5 63 22 32 149 46 85 96 $clusinfo size max_diss av_diss isolation [1,] 2 11 5.500000 0.09734513 [2,] 2 6 3.000000 0.05660377 [3,] 3 19 9.333333 0.17924528 $sample [1] "1" "2" "21" "22" "45" "46" "47" > for(ss in 5:nrow(ru3)){ + cat("---\n\nsample size = ",ss,"\n") + print(clara(ru3,k=4,met="manhattan",sampsize=ss)[clInS]) + } --- sample size = 5 $objective [1] 13.625 $i.med [1] 4 5 10 15 $medoids x y 4 9 77 21 28 147 45 85 115 62 77 12 $clusinfo size max_diss av_diss isolation [1,] 4 29 16.50 0.3258427 [2,] 5 14 9.00 0.1573034 [3,] 4 30 19.25 0.3370787 [4,] 3 15 10.00 0.1351351 $sample [1] "3" "4" "21" "45" "62" --- sample size = 6 $objective [1] 9.0625 $i.med [1] 3 7 13 15 $medoids x y 3 10 59 23 35 153 48 74 96 62 77 12 $clusinfo size max_diss av_diss isolation [1,] 4 19 10.00 0.1881188 [2,] 5 13 5.60 0.1354167 [3,] 4 30 11.75 0.3448276 [4,] 3 15 10.00 0.1724138 $sample [1] "3" "21" "23" "45" "48" "62" --- sample size = 7 $objective [1] 9.0625 $i.med [1] 3 7 13 15 $medoids x y 3 10 59 23 35 153 48 74 96 62 77 12 $clusinfo size max_diss av_diss isolation [1,] 4 19 10.00 0.1881188 [2,] 5 13 5.60 0.1354167 [3,] 4 30 11.75 0.3448276 [4,] 3 15 10.00 0.1724138 $sample [1] "2" "3" "21" "23" "45" "48" "62" --- sample size = 8 $objective [1] 8.8125 $i.med [1] 3 7 12 15 $medoids x y 3 10 59 23 35 153 47 78 94 62 77 12 $clusinfo size max_diss av_diss isolation [1,] 4 19 10.00 0.1844660 [2,] 5 13 5.60 0.1274510 [3,] 4 28 10.75 0.3373494 [4,] 3 15 10.00 0.1807229 $sample [1] "3" "21" "23" "46" "47" "48" "61" "62" --- sample size = 9 $objective [1] 9.3125 $i.med [1] 2 6 11 16 $medoids x y 2 5 63 22 32 149 46 85 96 63 83 21 $clusinfo size max_diss av_diss isolation [1,] 4 18 9.50 0.1592920 [2,] 5 8 5.40 0.0754717 [3,] 4 19 9.75 0.2467532 [4,] 3 30 15.00 0.3896104 $sample [1] "2" "21" "22" "23" "45" "46" "47" "61" "63" --- sample size = 10 $objective [1] 8.5625 $i.med [1] 3 7 11 15 $medoids x y 3 10 59 23 35 153 46 85 96 62 77 12 $clusinfo size max_diss av_diss isolation [1,] 4 19 10.00 0.1696429 [2,] 5 13 5.60 0.1214953 [3,] 4 19 9.75 0.2065217 [4,] 3 15 10.00 0.1630435 $sample [1] "2" "3" "22" "23" "45" "46" "47" "61" "62" "63" --- sample size = 11 $objective [1] 8.6875 $i.med [1] 2 7 12 15 $medoids x y 2 5 63 23 35 153 47 78 94 62 77 12 $clusinfo size max_diss av_diss isolation [1,] 4 18 9.50 0.1730769 [2,] 5 13 5.60 0.1274510 [3,] 4 28 10.75 0.3373494 [4,] 3 15 10.00 0.1807229 $sample [1] "1" "2" "3" "4" "23" "24" "25" "45" "47" "48" "62" --- sample size = 12 $objective [1] 8.8125 $i.med [1] 3 7 12 15 $medoids x y 3 10 59 23 35 153 47 78 94 62 77 12 $clusinfo size max_diss av_diss isolation [1,] 4 19 10.00 0.1844660 [2,] 5 13 5.60 0.1274510 [3,] 4 28 10.75 0.3373494 [4,] 3 15 10.00 0.1807229 $sample [1] "2" "3" "22" "23" "24" "25" "46" "47" "48" "61" "62" "63" --- sample size = 13 $objective [1] 8.4375 $i.med [1] 2 7 11 15 $medoids x y 2 5 63 23 35 153 46 85 96 62 77 12 $clusinfo size max_diss av_diss isolation [1,] 4 18 9.50 0.1592920 [2,] 5 13 5.60 0.1214953 [3,] 4 19 9.75 0.2065217 [4,] 3 15 10.00 0.1630435 $sample [1] "1" "2" "4" "22" "23" "24" "25" "45" "46" "47" "61" "62" "63" --- sample size = 14 $objective [1] 8.4375 $i.med [1] 2 7 11 15 $medoids x y 2 5 63 23 35 153 46 85 96 62 77 12 $clusinfo size max_diss av_diss isolation [1,] 4 18 9.50 0.1592920 [2,] 5 13 5.60 0.1214953 [3,] 4 19 9.75 0.2065217 [4,] 3 15 10.00 0.1630435 $sample [1] "2" "3" "4" "22" "23" "24" "25" "45" "46" "47" "48" "61" "62" "63" --- sample size = 15 $objective [1] 8.375 $i.med [1] 2 6 11 15 $medoids x y 2 5 63 22 32 149 46 85 96 62 77 12 $clusinfo size max_diss av_diss isolation [1,] 4 18 9.50 0.1592920 [2,] 5 8 5.40 0.0754717 [3,] 4 19 9.75 0.2065217 [4,] 3 15 10.00 0.1630435 $sample [1] "2" "3" "4" "21" "22" "23" "24" "25" "45" "46" "47" "48" "61" "62" "63" --- sample size = 16 $objective [1] 8.375 $i.med [1] 2 6 11 15 $medoids x y 2 5 63 22 32 149 46 85 96 62 77 12 $clusinfo size max_diss av_diss isolation [1,] 4 18 9.50 0.1592920 [2,] 5 8 5.40 0.0754717 [3,] 4 19 9.75 0.2065217 [4,] 3 15 10.00 0.1630435 $sample [1] "1" "2" "3" "4" "21" "22" "23" "24" "25" "45" "46" "47" "48" "61" "62" [16] "63" > > ## Last Line: > cat('Time elapsed: ', proc.time() - .proctime00,'\n') Time elapsed: 1.4 0.013 1.433 0 0 > ## Lynne (P IV, 1.6 GHz): 18.81; then (no NA; R 1.9.0-alpha): 15.07 > ## nb-mm (P III,700 MHz): 27.97 > > proc.time() user system elapsed 1.674 0.102 1.917