R version 4.4.1 Patched (2024-09-30 r87205) -- "Race for Your Life" Copyright (C) 2024 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. > ## IGNORE_RDIFF_BEGIN > .libPaths() # show full library tree {also as check of R CMD check!} [1] "/tmp/RtmpeWFqQT/RLIBS_28dee75f47fb34" [2] "/u/maechler/R/D/r-patched/F38-64-inst/library" > ## IGNORE_RDIFF_END > library(cluster) > > ####---------- Tests for FANNY i.e., fanny() -------------------------- > #### > ### -- thanks to ../.Rbuildignore , the output of this is > ### -- only compared to saved values for the maintainer > > ###--- An extension of example(fanny) : ------------------- > set.seed(21) > ## generate 10+15 objects in two clusters, plus 3 objects lying > ## between those clusters. > x <- rbind(cbind(rnorm(10, 0, 0.5), rnorm(10, 0, 0.5)), + cbind(rnorm(15, 5, 0.5), rnorm(15, 5, 0.5)), + cbind(rnorm( 3,3.2,0.5), rnorm( 3,3.2,0.5))) > > .proctime00 <- proc.time() > > (fannyx <- fanny(x, 2)) Fuzzy Clustering object of class 'fanny' : m.ship.expon. 2 objective 14.17769 tolerance 1e-15 iterations 9 converged 1 maxit 500 n 28 Membership coefficients (in %, rounded): [,1] [,2] [1,] 89 11 [2,] 95 5 [3,] 92 8 [4,] 94 6 [5,] 89 11 [6,] 93 7 [7,] 92 8 [8,] 93 7 [9,] 95 5 [10,] 96 4 [11,] 5 95 [12,] 7 93 [13,] 4 96 [14,] 7 93 [15,] 5 95 [16,] 6 94 [17,] 10 90 [18,] 5 95 [19,] 4 96 [20,] 8 92 [21,] 8 92 [22,] 4 96 [23,] 6 94 [24,] 6 94 [25,] 12 88 [26,] 40 60 [27,] 22 78 [28,] 29 71 Fuzzyness coefficients: dunn_coeff normalized 0.8436121 0.6872242 Closest hard clustering: [1] 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 Available components: [1] "membership" "coeff" "memb.exp" "clustering" "k.crisp" [6] "objective" "convergence" "diss" "call" "silinfo" [11] "data" > summary(fannyx) Fuzzy Clustering object of class 'fanny' : m.ship.expon. 2 objective 14.17769 tolerance 1e-15 iterations 9 converged 1 maxit 500 n 28 Membership coefficients (in %, rounded): [,1] [,2] [1,] 89 11 [2,] 95 5 [3,] 92 8 [4,] 94 6 [5,] 89 11 [6,] 93 7 [7,] 92 8 [8,] 93 7 [9,] 95 5 [10,] 96 4 [11,] 5 95 [12,] 7 93 [13,] 4 96 [14,] 7 93 [15,] 5 95 [16,] 6 94 [17,] 10 90 [18,] 5 95 [19,] 4 96 [20,] 8 92 [21,] 8 92 [22,] 4 96 [23,] 6 94 [24,] 6 94 [25,] 12 88 [26,] 40 60 [27,] 22 78 [28,] 29 71 Fuzzyness coefficients: dunn_coeff normalized 0.8436121 0.6872242 Closest hard clustering: [1] 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 Silhouette plot information: cluster neighbor sil_width 10 1 2 0.8803873 9 1 2 0.8726948 2 1 2 0.8624826 4 1 2 0.8569474 8 1 2 0.8446916 7 1 2 0.8379922 6 1 2 0.8260655 3 1 2 0.8218139 1 1 2 0.8018154 5 1 2 0.7778144 22 2 1 0.8622465 19 2 1 0.8526094 11 2 1 0.8524562 13 2 1 0.8521850 18 2 1 0.8474339 15 2 1 0.8473217 16 2 1 0.8430436 23 2 1 0.8391805 24 2 1 0.8387914 12 2 1 0.8326846 14 2 1 0.8293329 20 2 1 0.8187388 21 2 1 0.8173937 17 2 1 0.7951874 25 2 1 0.7718178 27 2 1 0.6444521 28 2 1 0.5321902 26 2 1 0.3304049 Average silhouette width per cluster: [1] 0.8382705 0.7781928 Average silhouette width of total data set: [1] 0.7996491 378 dissimilarities, summarized : Min. 1st Qu. Median Mean 3rd Qu. Max. 0.07909 1.03510 2.98900 3.88190 6.89260 8.44010 Metric : euclidean Number of objects : 28 Available components: [1] "membership" "coeff" "memb.exp" "clustering" "k.crisp" [6] "objective" "convergence" "diss" "call" "silinfo" [11] "data" > str(fannyx) List of 11 $ membership : num [1:28, 1:2] 0.889 0.953 0.916 0.937 0.891 ... $ coeff : Named num [1:2] 0.844 0.687 ..- attr(*, "names")= chr [1:2] "dunn_coeff" "normalized" $ memb.exp : num 2 $ clustering : int [1:28] 1 1 1 1 1 1 1 1 1 1 ... $ k.crisp : num 2 $ objective : Named num [1:2] 1.42e+01 1.00e-15 ..- attr(*, "names")= chr [1:2] "objective" "tolerance" $ convergence: Named int [1:3] 9 1 500 ..- attr(*, "names")= chr [1:3] "iterations" "converged" "maxit" $ diss : 'dissimilarity' num [1:378] 1.523 0.987 1.602 1.584 1.903 ... ..- attr(*, "Size")= int 28 ..- attr(*, "Metric")= chr "euclidean" $ call : language fanny(x = x, k = 2) $ silinfo :List of 3 ..$ widths : num [1:28, 1:3] 1 1 1 1 1 1 1 1 1 1 ... .. ..- attr(*, "dimnames")=List of 2 .. .. ..$ : chr [1:28] "10" "9" "2" "4" ... .. .. ..$ : chr [1:3] "cluster" "neighbor" "sil_width" ..$ clus.avg.widths: num [1:2] 0.838 0.778 ..$ avg.width : num 0.8 $ data : num [1:28, 1:2] 0.397 0.261 0.873 -0.636 1.099 ... - attr(*, "class")= chr [1:2] "fanny" "partition" > ## Different platforms differ (even gcc 3.0.1 vs 3.2 on same platform)! > ## {70 or 71 iterations} > ## ==> No "fanny-ex.Rout.save" is distributed ! > ## -------------------------------------------- > ## IGNORE_RDIFF_BEGIN > summary(fanny(x,3))# one extra cluster Fuzzy Clustering object of class 'fanny' : m.ship.expon. 2 objective 9.39325 tolerance 1e-15 iterations 45 converged 1 maxit 500 n 28 Membership coefficients (in %, rounded): [,1] [,2] [,3] [1,] 80 10 11 [2,] 91 4 5 [3,] 84 8 9 [4,] 88 5 6 [5,] 79 10 12 [6,] 86 7 8 [7,] 86 7 8 [8,] 87 6 7 [9,] 91 4 5 [10,] 93 3 4 [11,] 3 55 43 [12,] 3 72 25 [13,] 3 41 57 [14,] 4 61 35 [15,] 2 75 23 [16,] 3 54 42 [17,] 5 37 58 [18,] 3 38 60 [19,] 2 38 59 [20,] 4 66 30 [21,] 4 41 55 [22,] 2 61 37 [23,] 3 73 24 [24,] 4 58 38 [25,] 7 43 50 [26,] 22 31 47 [27,] 11 32 58 [28,] 15 33 52 Fuzzyness coefficients: dunn_coeff normalized 0.5864035 0.3796053 Closest hard clustering: [1] 1 1 1 1 1 1 1 1 1 1 2 2 3 2 2 2 3 3 3 2 3 2 2 2 3 3 3 3 Silhouette plot information: cluster neighbor sil_width 10 1 3 0.86761636 9 1 3 0.85927690 2 1 3 0.84637141 4 1 3 0.84263476 8 1 3 0.82827133 7 1 3 0.82191633 6 1 3 0.80515251 3 1 3 0.80077380 1 1 3 0.78174030 5 1 3 0.74877291 23 2 3 0.69381057 15 2 3 0.68790994 12 2 3 0.68113233 20 2 3 0.60243554 24 2 3 0.53703144 22 2 3 0.51528059 14 2 3 0.49467784 11 2 3 0.47962831 16 2 3 0.47844504 27 3 2 0.34881727 28 3 2 0.33616051 26 3 2 0.32389804 17 3 2 -0.02523208 21 3 2 -0.16440140 25 3 2 -0.21039298 18 3 2 -0.21192236 19 3 2 -0.26773065 13 3 2 -0.29006339 Average silhouette width per cluster: [1] 0.82025266 0.57448351 -0.01787412 Average silhouette width of total data set: [1] 0.4718575 378 dissimilarities, summarized : Min. 1st Qu. Median Mean 3rd Qu. Max. 0.07909 1.03510 2.98900 3.88190 6.89260 8.44010 Metric : euclidean Number of objects : 28 Available components: [1] "membership" "coeff" "memb.exp" "clustering" "k.crisp" [6] "objective" "convergence" "diss" "call" "silinfo" [11] "data" > ## IGNORE_RDIFF_END > > ## CRAN-relevant M1 mac: aarch64-apple-darwin24.1.0 / Apple clang version 16.0.0 (clang-1600.0.26.6) / macOS Sequoia 15.1.1 > ## IGNORE_RDIFF_BEGIN > (fanny(x,2, memb.exp = 1.5)) Fuzzy Clustering object of class 'fanny' : m.ship.expon. 1.5 objective 16.08227 tolerance 1e-15 iterations 10 converged 1 maxit 500 n 28 Membership coefficients (in %, rounded): [,1] [,2] [1,] 99 1 [2,] 100 0 [3,] 99 1 [4,] 100 0 [5,] 98 2 [6,] 99 1 [7,] 99 1 [8,] 99 1 [9,] 100 0 [10,] 100 0 [11,] 0 100 [12,] 1 99 [13,] 0 100 [14,] 1 99 [15,] 0 100 [16,] 0 100 [17,] 1 99 [18,] 0 100 [19,] 0 100 [20,] 1 99 [21,] 1 99 [22,] 0 100 [23,] 0 100 [24,] 0 100 [25,] 2 98 [26,] 26 74 [27,] 6 94 [28,] 12 88 Fuzzyness coefficients: dunn_coeff normalized 0.9635331 0.9270661 Closest hard clustering: [1] 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 Available components: [1] "membership" "coeff" "memb.exp" "clustering" "k.crisp" [6] "objective" "convergence" "diss" "call" "silinfo" [11] "data" > ## IGNORE_RDIFF_END > (fanny(x,2, memb.exp = 1.2)) Fuzzy Clustering object of class 'fanny' : m.ship.expon. 1.2 objective 16.49219 tolerance 1e-15 iterations 7 converged 1 maxit 500 n 28 Membership coefficients (in %, rounded): [,1] [,2] [1,] 100 0 [2,] 100 0 [3,] 100 0 [4,] 100 0 [5,] 100 0 [6,] 100 0 [7,] 100 0 [8,] 100 0 [9,] 100 0 [10,] 100 0 [11,] 0 100 [12,] 0 100 [13,] 0 100 [14,] 0 100 [15,] 0 100 [16,] 0 100 [17,] 0 100 [18,] 0 100 [19,] 0 100 [20,] 0 100 [21,] 0 100 [22,] 0 100 [23,] 0 100 [24,] 0 100 [25,] 0 100 [26,] 5 95 [27,] 0 100 [28,] 0 100 Fuzzyness coefficients: dunn_coeff normalized 0.9964339 0.9928679 Closest hard clustering: [1] 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 Available components: [1] "membership" "coeff" "memb.exp" "clustering" "k.crisp" [6] "objective" "convergence" "diss" "call" "silinfo" [11] "data" > (fanny(x,2, memb.exp = 1.1)) Fuzzy Clustering object of class 'fanny' : m.ship.expon. 1.1 objective 16.51151 tolerance 1e-15 iterations 5 converged 1 maxit 500 n 28 Membership coefficients (in %, rounded): [,1] [,2] [1,] 100 0 [2,] 100 0 [3,] 100 0 [4,] 100 0 [5,] 100 0 [6,] 100 0 [7,] 100 0 [8,] 100 0 [9,] 100 0 [10,] 100 0 [11,] 0 100 [12,] 0 100 [13,] 0 100 [14,] 0 100 [15,] 0 100 [16,] 0 100 [17,] 0 100 [18,] 0 100 [19,] 0 100 [20,] 0 100 [21,] 0 100 [22,] 0 100 [23,] 0 100 [24,] 0 100 [25,] 0 100 [26,] 0 100 [27,] 0 100 [28,] 0 100 Fuzzyness coefficients: dunn_coeff normalized 0.9998489 0.9996979 Closest hard clustering: [1] 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 Available components: [1] "membership" "coeff" "memb.exp" "clustering" "k.crisp" [6] "objective" "convergence" "diss" "call" "silinfo" [11] "data" > (fanny(x,2, memb.exp = 3)) Fuzzy Clustering object of class 'fanny' : m.ship.expon. 3 objective 8.844693 tolerance 1e-15 iterations 11 converged 1 maxit 500 n 28 Membership coefficients (in %, rounded): [,1] [,2] [1,] 73 27 [2,] 82 18 [3,] 76 24 [4,] 79 21 [5,] 74 26 [6,] 78 22 [7,] 77 23 [8,] 79 21 [9,] 81 19 [10,] 82 18 [11,] 18 82 [12,] 21 79 [13,] 18 82 [14,] 22 78 [15,] 19 81 [16,] 20 80 [17,] 26 74 [18,] 19 81 [19,] 18 82 [20,] 23 77 [21,] 23 77 [22,] 16 84 [23,] 21 79 [24,] 21 79 [25,] 28 72 [26,] 46 54 [27,] 36 64 [28,] 40 60 Fuzzyness coefficients: dunn_coeff normalized 0.6516764 0.3033528 Closest hard clustering: [1] 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 Available components: [1] "membership" "coeff" "memb.exp" "clustering" "k.crisp" [6] "objective" "convergence" "diss" "call" "silinfo" [11] "data" > ## for subsetting, when compairing: > not.conv <- setdiff(names(fannyx), c("convergence", "call")) > notMconv <- setdiff(names(fannyx), c("membership", "convergence", "call")) > > data(ruspini) # < to run under R 1.9.1 > summary(fanny(ruspini, 3), digits = 9) Fuzzy Clustering object of class 'fanny' : m.ship.expon. 2 objective 719.5606 tolerance 1e-15 iterations 21 converged 1 maxit 500 n 75 Membership coefficients (in %, rounded): [,1] [,2] [,3] 1 68 13 19 2 73 12 15 3 76 10 14 4 73 14 13 5 69 11 20 6 80 9 11 7 64 20 16 8 79 10 11 9 83 7 10 10 85 7 9 11 82 9 10 12 82 8 10 13 78 11 12 14 81 7 12 15 77 8 15 16 81 7 12 17 70 10 20 18 79 8 13 19 78 8 14 20 73 12 15 21 17 74 10 22 14 78 8 23 12 80 8 24 14 78 8 25 10 83 6 26 9 86 5 27 10 84 6 28 11 83 6 29 14 77 8 30 14 78 8 31 11 83 7 32 8 87 5 33 8 87 5 34 8 87 5 35 8 88 5 36 9 86 6 37 8 86 5 38 9 86 6 39 9 85 6 40 11 82 7 41 20 68 12 42 13 78 9 43 13 78 9 44 22 61 17 45 27 52 21 46 33 39 28 47 35 38 28 48 35 39 26 49 26 53 22 50 27 50 24 51 25 53 22 52 26 51 23 53 25 54 21 54 27 48 24 55 28 45 27 56 28 44 27 57 27 47 26 58 26 49 24 59 28 46 27 60 28 44 28 61 15 8 77 62 12 6 82 63 13 8 79 64 11 5 83 65 8 4 88 66 11 6 83 67 7 4 89 68 14 7 79 69 8 4 89 70 7 3 90 71 7 3 89 72 11 5 83 73 11 6 83 74 12 6 81 75 13 6 81 Fuzzyness coefficients: dunn_coeff normalized 0.6045235 0.4067852 Closest hard clustering: 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 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 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 52 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 Silhouette plot information: cluster neighbor sil_width 10 1 3 0.8056096 6 1 3 0.7954977 9 1 3 0.7923048 11 1 3 0.7831672 8 1 3 0.7823246 12 1 3 0.7658171 3 1 3 0.7587961 14 1 3 0.7569107 4 1 3 0.7532051 2 1 3 0.7456150 16 1 3 0.7436018 13 1 3 0.7398841 18 1 3 0.7080079 15 1 3 0.7006854 19 1 3 0.7000938 1 1 3 0.6798381 5 1 3 0.6646571 20 1 3 0.6619626 7 1 2 0.6437853 17 1 3 0.6148541 39 2 1 0.6283295 38 2 1 0.6262721 40 2 1 0.6255492 43 2 1 0.6243319 36 2 1 0.6221530 35 2 1 0.6178548 37 2 1 0.6121605 42 2 1 0.6088119 44 2 1 0.6066538 32 2 1 0.6052260 34 2 1 0.5958391 31 2 1 0.5954537 33 2 1 0.5899279 26 2 1 0.5890979 53 2 1 0.5846364 51 2 1 0.5785105 49 2 1 0.5734352 25 2 1 0.5691955 52 2 1 0.5584872 27 2 1 0.5574419 28 2 1 0.5478805 23 2 1 0.5457126 58 2 1 0.5443257 50 2 1 0.5431889 54 2 1 0.5338363 24 2 1 0.5282567 45 2 1 0.5249071 57 2 1 0.5237845 22 2 1 0.5150893 59 2 3 0.5015850 30 2 1 0.4973340 55 2 1 0.4949786 29 2 1 0.4899519 56 2 3 0.4856790 41 2 1 0.4816846 60 2 3 0.4766350 21 2 1 0.4658079 46 2 1 0.3138537 47 2 1 0.2329901 48 2 1 0.2275249 70 3 1 0.8548947 67 3 1 0.8527439 65 3 1 0.8503105 69 3 1 0.8391810 71 3 1 0.8381065 66 3 1 0.8229841 62 3 1 0.8153092 64 3 1 0.8061254 73 3 1 0.7950213 63 3 1 0.7795369 72 3 1 0.7748121 61 3 1 0.7701103 68 3 1 0.7620559 74 3 1 0.7596815 75 3 1 0.7425538 Average silhouette width per cluster: [1] 0.7298309 0.5361094 0.8042285 Average silhouette width of total data set: [1] 0.6413923 2775 dissimilarities, summarized : Min. 1st Qu. Median Mean 3rd Qu. Max. 1.414 40.106 75.591 71.538 99.169 154.500 Metric : euclidean Number of objects : 75 Available components: [1] "membership" "coeff" "memb.exp" "clustering" "k.crisp" [6] "objective" "convergence" "diss" "call" "silinfo" [11] "data" > summary(fanny(ruspini, 4), digits = 9)# 'correct' #{clusters} Fuzzy Clustering object of class 'fanny' : m.ship.expon. 2 objective 422.8389 tolerance 1e-15 iterations 12 converged 1 maxit 500 n 75 Membership coefficients (in %, rounded): [,1] [,2] [,3] [,4] 1 66 10 9 15 2 71 9 8 11 3 76 7 6 10 4 69 11 9 11 5 68 9 8 15 6 80 7 6 8 7 57 18 13 13 8 76 9 7 9 9 85 5 4 7 10 86 4 4 6 11 78 7 6 8 12 78 7 7 9 13 72 10 9 10 14 82 5 5 8 15 76 6 6 11 16 81 5 5 9 17 68 8 8 16 18 77 6 6 11 19 75 7 7 11 20 65 11 11 14 21 10 74 10 6 22 7 80 8 4 23 6 82 8 4 24 8 79 9 5 25 5 87 6 3 26 4 89 5 2 27 4 87 5 3 28 5 85 6 3 29 8 78 9 5 30 8 79 9 5 31 6 81 9 4 32 3 89 5 2 33 4 87 6 3 34 5 84 7 3 35 4 87 6 3 36 5 83 8 4 37 6 79 10 4 38 7 76 12 5 39 7 78 11 4 40 8 71 15 6 41 16 49 25 10 42 12 57 23 8 43 12 55 25 8 44 10 23 59 8 45 10 16 65 8 46 17 18 51 15 47 20 20 44 17 48 21 21 42 16 49 4 7 85 4 50 4 6 87 4 51 5 8 83 4 52 3 5 88 3 53 6 11 78 5 54 4 5 88 3 55 6 7 82 5 56 6 8 80 6 57 4 6 85 4 58 7 11 76 6 59 7 10 77 7 60 8 11 74 8 61 12 6 8 74 62 9 5 6 79 63 11 6 9 74 64 8 4 5 83 65 6 3 3 88 66 9 4 6 81 67 5 2 3 91 68 12 5 6 77 69 5 2 3 89 70 4 2 3 91 71 5 2 3 89 72 10 4 5 81 73 10 5 7 79 74 11 5 7 76 75 12 5 6 77 Fuzzyness coefficients: dunn_coeff normalized 0.6237448 0.4983264 Closest hard clustering: 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 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 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 52 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 Silhouette plot information: cluster neighbor sil_width 10 1 4 0.8056096 6 1 4 0.7954977 9 1 4 0.7923048 11 1 4 0.7831672 8 1 2 0.7811793 12 1 4 0.7658171 3 1 4 0.7587961 14 1 4 0.7569107 2 1 4 0.7456150 16 1 4 0.7436018 13 1 4 0.7398841 4 1 2 0.7361533 18 1 4 0.7080079 15 1 4 0.7006854 19 1 4 0.7000938 1 1 4 0.6798381 5 1 4 0.6646571 20 1 4 0.6619626 17 1 4 0.6148541 7 1 2 0.5900575 26 2 3 0.8357433 32 2 3 0.8332753 27 2 3 0.8290271 25 2 3 0.8285547 28 2 3 0.8192636 35 2 3 0.8186309 33 2 3 0.8175087 23 2 3 0.8089969 22 2 3 0.8025389 34 2 3 0.8013310 31 2 3 0.7949677 36 2 3 0.7943536 24 2 3 0.7930770 29 2 3 0.7897346 30 2 3 0.7892027 21 2 3 0.7698024 37 2 3 0.7684502 39 2 3 0.7631648 38 2 3 0.7438848 40 2 3 0.7083130 42 2 3 0.5291270 43 2 3 0.4931623 41 2 3 0.4290814 54 3 2 0.7741745 57 3 2 0.7703455 55 3 2 0.7641810 50 3 2 0.7619943 52 3 2 0.7616220 56 3 2 0.7575313 59 3 2 0.7327828 49 3 2 0.7317002 51 3 2 0.7209864 60 3 2 0.7206840 58 3 2 0.7019611 53 3 2 0.6775322 45 3 2 0.5974787 46 3 2 0.5740823 47 3 2 0.4835635 48 3 2 0.4247331 44 3 2 0.4196093 70 4 1 0.8548947 67 4 1 0.8527439 65 4 1 0.8503105 69 4 1 0.8391810 71 4 1 0.8381065 66 4 1 0.8229841 62 4 1 0.8153092 64 4 1 0.8061254 73 4 1 0.7950213 63 4 1 0.7795369 72 4 1 0.7748121 61 4 1 0.7701103 68 4 1 0.7620559 74 4 1 0.7596815 75 4 1 0.7425538 Average silhouette width per cluster: [1] 0.7262347 0.7548344 0.6691154 0.8042285 Average silhouette width of total data set: [1] 0.737657 2775 dissimilarities, summarized : Min. 1st Qu. Median Mean 3rd Qu. Max. 1.414 40.106 75.591 71.538 99.169 154.500 Metric : euclidean Number of objects : 75 Available components: [1] "membership" "coeff" "memb.exp" "clustering" "k.crisp" [6] "objective" "convergence" "diss" "call" "silinfo" [11] "data" > summary(fanny(ruspini, 5), digits = 9) Fuzzy Clustering object of class 'fanny' : m.ship.expon. 2 objective 344.054 tolerance 1e-15 iterations 30 converged 1 maxit 500 n 75 Membership coefficients (in %, rounded): [,1] [,2] [,3] [,4] [,5] 1 60 10 10 8 13 2 65 9 9 7 10 3 71 7 7 6 9 4 60 11 11 8 10 5 63 8 8 7 14 6 74 7 7 5 7 7 47 16 16 10 11 8 68 8 9 6 8 9 81 4 4 4 6 10 83 4 4 4 5 11 72 7 7 6 8 12 72 7 7 6 8 13 64 9 10 8 9 14 79 5 5 4 7 15 73 6 6 5 10 16 78 5 5 5 8 17 64 7 8 7 14 18 73 6 6 6 10 19 71 6 7 6 10 20 58 10 11 9 12 21 5 60 26 6 3 22 4 67 23 4 2 23 4 65 25 4 2 24 4 62 26 5 3 25 3 68 25 3 2 26 3 61 31 3 2 27 3 69 24 3 2 28 3 64 27 4 2 29 4 63 25 5 3 30 4 61 27 5 3 31 4 47 41 6 3 32 3 48 44 4 2 33 3 43 48 4 2 34 3 35 56 4 2 35 3 36 56 4 2 36 3 34 56 5 2 37 3 26 64 5 2 38 3 24 65 5 2 39 4 30 58 6 2 40 5 31 53 8 3 41 10 28 41 15 6 42 6 26 51 12 4 43 6 25 50 13 4 44 8 17 24 44 7 45 9 14 18 52 7 46 14 15 18 41 12 47 16 16 20 34 14 48 17 17 21 32 13 49 4 6 8 78 4 50 4 5 7 82 3 51 4 7 9 76 4 52 3 5 6 84 3 53 6 9 12 69 5 54 3 4 6 84 3 55 5 6 7 77 5 56 5 7 8 75 5 57 4 5 6 82 3 58 6 9 11 69 5 59 6 8 10 71 6 60 7 9 11 67 7 61 12 6 6 7 69 62 9 5 5 6 75 63 11 6 6 8 69 64 8 4 4 4 80 65 5 3 3 3 86 66 8 4 5 6 77 67 4 2 2 2 89 68 11 5 5 6 73 69 5 2 2 3 88 70 4 2 2 3 89 71 5 2 2 3 87 72 9 4 4 5 78 73 9 5 5 6 75 74 11 5 6 7 71 75 11 5 5 6 73 Fuzzyness coefficients: dunn_coeff normalized 0.5114030 0.3892538 Closest hard clustering: 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 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 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 52 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 Silhouette plot information: cluster neighbor sil_width 10 1 5 0.80560959 6 1 5 0.79549768 9 1 5 0.79230476 11 1 5 0.78316718 8 1 2 0.77898970 12 1 5 0.76581709 3 1 5 0.75879612 14 1 5 0.75691067 2 1 5 0.74561500 16 1 5 0.74360183 13 1 5 0.73988410 4 1 2 0.73129406 18 1 5 0.70800786 15 1 5 0.70068540 19 1 5 0.70009384 1 1 5 0.67983808 5 1 5 0.66465711 20 1 5 0.66196261 17 1 5 0.61485412 7 1 2 0.57933844 22 2 3 0.64692795 23 2 3 0.61550541 24 2 3 0.60008003 25 2 3 0.58870755 21 2 3 0.58680476 29 2 3 0.57562680 27 2 3 0.53630654 30 2 3 0.50899690 28 2 3 0.47603437 26 2 3 0.45468170 31 2 3 0.22164438 32 2 3 0.17652220 43 3 2 0.45636660 42 3 2 0.45534454 38 3 2 0.45388647 37 3 2 0.37929513 39 3 2 0.28792444 40 3 2 0.27156486 41 3 2 0.26700037 34 3 2 0.13274819 36 3 2 0.13049634 35 3 2 0.03864907 33 3 2 -0.10466026 54 4 3 0.74140256 57 4 3 0.73972663 55 4 3 0.73410322 56 4 3 0.72732850 50 4 3 0.72559236 52 4 3 0.72450938 59 4 3 0.70004311 60 4 3 0.68771996 49 4 3 0.68729634 51 4 3 0.67478586 58 4 3 0.66155189 53 4 3 0.62364614 45 4 3 0.52499298 46 4 3 0.52187006 47 4 3 0.42305501 48 4 3 0.35520120 44 4 3 0.28882028 70 5 1 0.85489470 67 5 1 0.85274392 65 5 1 0.85031051 69 5 1 0.83918099 71 5 1 0.83810647 66 5 1 0.82298407 62 5 1 0.81530920 64 5 1 0.80612543 73 5 1 0.79502130 63 5 1 0.77953687 72 5 1 0.77481212 61 5 1 0.77011029 68 5 1 0.76205594 74 5 1 0.75968147 75 5 1 0.74255385 Average silhouette width per cluster: [1] 0.7253463 0.4989865 0.2516923 0.6200968 0.8042285 Average silhouette width of total data set: [1] 0.6115794 2775 dissimilarities, summarized : Min. 1st Qu. Median Mean 3rd Qu. Max. 1.414 40.106 75.591 71.538 99.169 154.500 Metric : euclidean Number of objects : 75 Available components: [1] "membership" "coeff" "memb.exp" "clustering" "k.crisp" [6] "objective" "convergence" "diss" "call" "silinfo" [11] "data" > > cat('Time elapsed: ', proc.time() - .proctime00,'\n') Time elapsed: 0.042 0.008 0.052 0 0 > data(chorSub) > p4cl <- pam(chorSub, k = 4, cluster.only = TRUE) > ## The first two are "completely fuzzy" -- and now give a warnings > ## IGNORE_RDIFF_BEGIN > f4.20 <- fanny(chorSub, k = 4, trace.lev = 1) fanny()'s fuzzy(n = 61, k = 4): fuzzy(): initial obj = 8277.57 Converged after 44 iterations, obj = 2665.982 fanny()'s caddy(*, k = 4): -> k_true (crisp) = 2 < k (= 4) !! Warning message: In fanny(chorSub, k = 4, trace.lev = 1) : the memberships are all very close to 1/k. Maybe decrease 'memb.exp' ? > f4.20$coef dunn_coeff normalized 2.500000e-01 3.330669e-15 > ## IGNORE_RDIFF_END > stopifnot(exprs = { + all.equal(f4.20$coef, c(dunn_coeff = 0.25, normalized = 3.330669e-15)) + all.equal(f4.20$objective[["objective"]], 2665.982, tol = 8e-7) + all.equal(f4.20$silinfo$avg.width, 0.250643, tol = 2e-6) + }) > > f4.18 <- fanny(chorSub, k = 4, memb.exp = 1.8) # same problem Warning message: In fanny(chorSub, k = 4, memb.exp = 1.8) : the memberships are all very close to 1/k. Maybe decrease 'memb.exp' ? > f4.18. <- fanny(chorSub, k = 4, memb.exp = 1.8, + iniMem.p = f4.20$membership) # very quick convergence Warning message: In fanny(chorSub, k = 4, memb.exp = 1.8, iniMem.p = f4.20$membership) : the memberships are all very close to 1/k. Maybe decrease 'memb.exp' ? > stopifnot(all.equal(f4.18[not.conv], f4.18.[not.conv], tol = 5e-7)) > > f4.16 <- fanny(chorSub, k = 4, memb.exp = 1.6) # now gives 4 crisp clusters > ## IGNORE_RDIFF_BEGIN > f4.16. <- fanny(chorSub, k = 4, memb.exp = 1.6, + iniMem.p = f4.18$membership, trace.lev = 2)# wrongly "converged" immediately; no longer! fanny()'s fuzzy(n = 61, k = 4): fuzzy(): initial obj = 4641.75 ef[]= ( 15405.8, 15405.8, 15405.8, 15405.8) esp[]= ( 6.63795, 6.63795, 6.63795, 6.63795) m == n: obj = 4641.7451124068 not converged: it = 1 m == n: obj = 4641.7451124068 not converged: it = 2 m == n: obj = 4641.7451124067 not converged: it = 3 m == n: obj = 4641.7451124067 not converged: it = 4 m == n: obj = 4641.7451124066 not converged: it = 5 m == n: obj = 4641.7451124065 not converged: it = 6 m == n: obj = 4641.7451124064 not converged: it = 7 m == n: obj = 4641.7451124062 not converged: it = 8 m == n: obj = 4641.7451124059 not converged: it = 9 m == n: obj = 4641.7451124055 not converged: it = 10 m == n: obj = 4641.7451124048 not converged: it = 11 m == n: obj = 4641.7451124038 not converged: it = 12 m == n: obj = 4641.7451124024 not converged: it = 13 m == n: obj = 4641.7451124002 not converged: it = 14 m == n: obj = 4641.7451123969 not converged: it = 15 m == n: obj = 4641.7451123920 not converged: it = 16 m == n: obj = 4641.7451123848 not converged: it = 17 m == n: obj = 4641.7451123740 not converged: it = 18 m == n: obj = 4641.7451123580 not converged: it = 19 m == n: obj = 4641.7451123342 not converged: it = 20 m == n: obj = 4641.7451122987 not converged: it = 21 m == n: obj = 4641.7451122458 not converged: it = 22 m == n: obj = 4641.7451121672 not converged: it = 23 m == n: obj = 4641.7451120502 not converged: it = 24 m == n: obj = 4641.7451118760 not converged: it = 25 m == n: obj = 4641.7451116168 not converged: it = 26 m == n: obj = 4641.7451112310 not converged: it = 27 m == n: obj = 4641.7451106568 not converged: it = 28 m == n: obj = 4641.7451098021 not converged: it = 29 m == n: obj = 4641.7451085301 not converged: it = 30 m == n: obj = 4641.7451066368 not converged: it = 31 m == n: obj = 4641.7451038188 not converged: it = 32 m == n: obj = 4641.7450996246 not converged: it = 33 m == n: obj = 4641.7450933819 not converged: it = 34 m == n: obj = 4641.7450840901 not converged: it = 35 m == n: obj = 4641.7450702597 not converged: it = 36 m == n: obj = 4641.7450496738 not converged: it = 37 m == n: obj = 4641.7450190318 not converged: it = 38 m == n: obj = 4641.7449734207 not converged: it = 39 m == n: obj = 4641.7449055260 not converged: it = 40 m == n: obj = 4641.7448044581 not converged: it = 41 m == n: obj = 4641.7446540036 not converged: it = 42 m == n: obj = 4641.7444300216 not converged: it = 43 m == n: obj = 4641.7440965647 not converged: it = 44 m == n: obj = 4641.7436001025 not converged: it = 45 m == n: obj = 4641.7428609171 not converged: it = 46 m == n: obj = 4641.7417602891 not converged: it = 47 m == n: obj = 4641.7401214217 not converged: it = 48 m == n: obj = 4641.7376810561 not converged: it = 49 m == n: obj = 4641.7340472856 not converged: it = 50 m == n: obj = 4641.7286369629 not converged: it = 51 m == n: obj = 4641.7205831038 not converged: it = 52 m == n: obj = 4641.7085985379 not converged: it = 53 m == n: obj = 4641.6907766285 not converged: it = 54 m == n: obj = 4641.6643034513 not converged: it = 55 m == n: obj = 4641.6250499545 not converged: it = 56 m == n: obj = 4641.5670118398 not converged: it = 57 m == n: obj = 4641.4815802745 not converged: it = 58 m == n: obj = 4641.3566816476 not converged: it = 59 m == n: obj = 4641.1759631584 not converged: it = 60 m == n: obj = 4640.9184870127 not converged: it = 61 m == n: obj = 4640.5598748380 not converged: it = 62 m == n: obj = 4640.0763951643 not converged: it = 63 m == n: obj = 4639.4535091538 not converged: it = 64 m == n: obj = 4638.6985627477 not converged: it = 65 m == n: obj = 4637.8525223026 not converged: it = 66 m == n: obj = 4636.9902717889 not converged: it = 67 m == n: obj = 4636.2011348287 not converged: it = 68 m == n: obj = 4635.5562138862 not converged: it = 69 m == n: obj = 4635.0841061959 not converged: it = 70 m == n: obj = 4634.7709393872 not converged: it = 71 m == n: obj = 4634.5791836454 not converged: it = 72 m == n: obj = 4634.4681223189 not converged: it = 73 m == n: obj = 4634.4053264338 not converged: it = 74 m == n: obj = 4634.3691581286 not converged: it = 75 m == n: obj = 4634.3467429052 not converged: it = 76 m == n: obj = 4634.3309831621 not converged: it = 77 m == n: obj = 4634.3181561250 not converged: it = 78 m == n: obj = 4634.3063657101 not converged: it = 79 m == n: obj = 4634.2946565359 not converged: it = 80 m == n: obj = 4634.2825420462 not converged: it = 81 m == n: obj = 4634.2697644380 not converged: it = 82 m == n: obj = 4634.2561761591 not converged: it = 83 m == n: obj = 4634.2416826439 not converged: it = 84 m == n: obj = 4634.2262151364 not converged: it = 85 m == n: obj = 4634.2097180825 not converged: it = 86 m == n: obj = 4634.1921435378 not converged: it = 87 m == n: obj = 4634.1734489659 not converged: it = 88 m == n: obj = 4634.1535967048 not converged: it = 89 m == n: obj = 4634.1325542860 not converged: it = 90 m == n: obj = 4634.1102952171 not converged: it = 91 m == n: obj = 4634.0868000400 not converged: it = 92 m == n: obj = 4634.0620575623 not converged: it = 93 m == n: obj = 4634.0360661965 not converged: it = 94 m == n: obj = 4634.0088353517 not converged: it = 95 m == n: obj = 4633.9803868188 not converged: it = 96 m == n: obj = 4633.9507560809 not converged: it = 97 m == n: obj = 4633.9199934721 not converged: it = 98 m == n: obj = 4633.8881650953 not converged: it = 99 m == n: obj = 4633.8553534087 not converged: it = 100 m == n: obj = 4633.8216573862 not converged: it = 101 m == n: obj = 4633.7871921716 not converged: it = 102 m == n: obj = 4633.7520881605 not converged: it = 103 m == n: obj = 4633.7164894758 not converged: it = 104 m == n: obj = 4633.6805518354 not converged: it = 105 m == n: obj = 4633.6444398582 not converged: it = 106 m == n: obj = 4633.6083238934 not converged: it = 107 m == n: obj = 4633.5723765040 not converged: it = 108 m == n: obj = 4633.5367687642 not converged: it = 109 m == n: obj = 4633.5016665539 not converged: it = 110 m == n: obj = 4633.4672270359 not converged: it = 111 m == n: obj = 4633.4335954897 not converged: it = 112 m == n: obj = 4633.4009026493 not converged: it = 113 m == n: obj = 4633.3692626504 not converged: it = 114 m == n: obj = 4633.3387716507 not converged: it = 115 m == n: obj = 4633.3095071322 not converged: it = 116 m == n: obj = 4633.2815278568 not converged: it = 117 m == n: obj = 4633.2548744046 not converged: it = 118 m == n: obj = 4633.2295702011 not converged: it = 119 m == n: obj = 4633.2056229217 not converged: it = 120 m == n: obj = 4633.1830261616 not converged: it = 121 m == n: obj = 4633.1617612597 not converged: it = 122 m == n: obj = 4633.1417991795 not converged: it = 123 m == n: obj = 4633.1231023655 not converged: it = 124 m == n: obj = 4633.1056265122 not converged: it = 125 m == n: obj = 4633.0893221975 not converged: it = 126 m == n: obj = 4633.0741363541 not converged: it = 127 m == n: obj = 4633.0600135613 not converged: it = 128 m == n: obj = 4633.0468971544 not converged: it = 129 m == n: obj = 4633.0347301568 not converged: it = 130 m == n: obj = 4633.0234560452 not converged: it = 131 m == n: obj = 4633.0130193623 not converged: it = 132 m == n: obj = 4633.0033661946 not converged: it = 133 m == n: obj = 4632.9944445330 not converged: it = 134 m == n: obj = 4632.9862045316 not converged: it = 135 m == n: obj = 4632.9785986833 not converged: it = 136 m == n: obj = 4632.9715819245 not converged: it = 137 m == n: obj = 4632.9651116845 not converged: it = 138 m == n: obj = 4632.9591478893 not converged: it = 139 m == n: obj = 4632.9536529294 not converged: it = 140 m == n: obj = 4632.9485916022 not converged: it = 141 m == n: obj = 4632.9439310334 not converged: it = 142 m == n: obj = 4632.9396405840 not converged: it = 143 m == n: obj = 4632.9356917488 not converged: it = 144 m == n: obj = 4632.9320580478 not converged: it = 145 m == n: obj = 4632.9287149149 not converged: it = 146 m == n: obj = 4632.9256395866 not converged: it = 147 m == n: obj = 4632.9228109913 not converged: it = 148 m == n: obj = 4632.9202096409 not converged: it = 149 m == n: obj = 4632.9178175259 not converged: it = 150 m == n: obj = 4632.9156180154 not converged: it = 151 m == n: obj = 4632.9135957603 not converged: it = 152 m == n: obj = 4632.9117366027 not converged: it = 153 m == n: obj = 4632.9100274892 not converged: it = 154 m == n: obj = 4632.9084563902 not converged: it = 155 m == n: obj = 4632.9070122233 not converged: it = 156 m == n: obj = 4632.9056847824 not converged: it = 157 m == n: obj = 4632.9044646710 not converged: it = 158 m == n: obj = 4632.9033432401 not converged: it = 159 m == n: obj = 4632.9023125305 not converged: it = 160 m == n: obj = 4632.9013652195 not converged: it = 161 m == n: obj = 4632.9004945707 not converged: it = 162 m == n: obj = 4632.8996943886 not converged: it = 163 m == n: obj = 4632.8989589752 not converged: it = 164 m == n: obj = 4632.8982830915 not converged: it = 165 m == n: obj = 4632.8976619203 not converged: it = 166 m == n: obj = 4632.8970910330 not converged: it = 167 m == n: obj = 4632.8965663585 not converged: it = 168 m == n: obj = 4632.8960841547 not converged: it = 169 m == n: obj = 4632.8956409819 not converged: it = 170 m == n: obj = 4632.8952336787 not converged: it = 171 m == n: obj = 4632.8948593394 not converged: it = 172 m == n: obj = 4632.8945152937 not converged: it = 173 m == n: obj = 4632.8941990874 not converged: it = 174 m == n: obj = 4632.8939084654 not converged: it = 175 m == n: obj = 4632.8936413550 not converged: it = 176 m == n: obj = 4632.8933958517 not converged: it = 177 m == n: obj = 4632.8931702052 not converged: it = 178 m == n: obj = 4632.8929628073 not converged: it = 179 m == n: obj = 4632.8927721801 not converged: it = 180 m == n: obj = 4632.8925969653 not converged: it = 181 m == n: obj = 4632.8924359151 not converged: it = 182 m == n: obj = 4632.8922878825 not converged: it = 183 m == n: obj = 4632.8921518138 not converged: it = 184 m == n: obj = 4632.8920267405 not converged: it = 185 m == n: obj = 4632.8919117727 not converged: it = 186 m == n: obj = 4632.8918060926 not converged: it = 187 m == n: obj = 4632.8917089487 not converged: it = 188 m == n: obj = 4632.8916196505 not converged: it = 189 m == n: obj = 4632.8915375633 not converged: it = 190 m == n: obj = 4632.8914621038 not converged: it = 191 m == n: obj = 4632.8913927362 not converged: it = 192 m == n: obj = 4632.8913289678 not converged: it = 193 m == n: obj = 4632.8912703460 not converged: it = 194 m == n: obj = 4632.8912164548 not converged: it = 195 m == n: obj = 4632.8911669118 not converged: it = 196 m == n: obj = 4632.8911213658 not converged: it = 197 m == n: obj = 4632.8910794937 not converged: it = 198 m == n: obj = 4632.8910409987 not converged: it = 199 m == n: obj = 4632.8910056082 not converged: it = 200 m == n: obj = 4632.8909730713 not converged: it = 201 m == n: obj = 4632.8909431577 not converged: it = 202 m == n: obj = 4632.8909156555 not converged: it = 203 m == n: obj = 4632.8908903701 not converged: it = 204 m == n: obj = 4632.8908671226 not converged: it = 205 m == n: obj = 4632.8908457484 not converged: it = 206 m == n: obj = 4632.8908260965 not converged: it = 207 m == n: obj = 4632.8908080279 not converged: it = 208 m == n: obj = 4632.8907914148 not converged: it = 209 m == n: obj = 4632.8907761399 not converged: it = 210 m == n: obj = 4632.8907620952 not converged: it = 211 m == n: obj = 4632.8907491815 not converged: it = 212 m == n: obj = 4632.8907373077 not converged: it = 213 m == n: obj = 4632.8907263899 not converged: it = 214 m == n: obj = 4632.8907163510 not converged: it = 215 m == n: obj = 4632.8907071202 not converged: it = 216 m == n: obj = 4632.8906986324 not converged: it = 217 m == n: obj = 4632.8906908277 not converged: it = 218 m == n: obj = 4632.8906836511 not converged: it = 219 m == n: obj = 4632.8906770519 not converged: it = 220 m == n: obj = 4632.8906709837 not converged: it = 221 m == n: obj = 4632.8906654037 not converged: it = 222 m == n: obj = 4632.8906602726 not converged: it = 223 m == n: obj = 4632.8906555542 not converged: it = 224 m == n: obj = 4632.8906512153 not converged: it = 225 m == n: obj = 4632.8906472254 not converged: it = 226 m == n: obj = 4632.8906435563 not converged: it = 227 m == n: obj = 4632.8906401822 not converged: it = 228 m == n: obj = 4632.8906370794 not converged: it = 229 m == n: obj = 4632.8906342261 not converged: it = 230 m == n: obj = 4632.8906316021 not converged: it = 231 m == n: obj = 4632.8906291891 not converged: it = 232 m == n: obj = 4632.8906269700 not converged: it = 233 m == n: obj = 4632.8906249293 not converged: it = 234 m == n: obj = 4632.8906230526 not converged: it = 235 m == n: obj = 4632.8906213267 not converged: it = 236 m == n: obj = 4632.8906197395 not converged: it = 237 m == n: obj = 4632.8906182798 not converged: it = 238 m == n: obj = 4632.8906169374 not converged: it = 239 m == n: obj = 4632.8906157028 not converged: it = 240 m == n: obj = 4632.8906145675 not converged: it = 241 m == n: obj = 4632.8906135233 not converged: it = 242 m == n: obj = 4632.8906125630 not converged: it = 243 m == n: obj = 4632.8906116798 not converged: it = 244 m == n: obj = 4632.8906108675 not converged: it = 245 m == n: obj = 4632.8906101205 not converged: it = 246 m == n: obj = 4632.8906094335 not converged: it = 247 m == n: obj = 4632.8906088016 not converged: it = 248 m == n: obj = 4632.8906082205 not converged: it = 249 m == n: obj = 4632.8906076860 not converged: it = 250 m == n: obj = 4632.8906071945 not converged: it = 251 m == n: obj = 4632.8906067424 not converged: it = 252 m == n: obj = 4632.8906063266 not converged: it = 253 m == n: obj = 4632.8906059441 not converged: it = 254 m == n: obj = 4632.8906055924 not converged: it = 255 m == n: obj = 4632.8906052689 not converged: it = 256 m == n: obj = 4632.8906049714 not converged: it = 257 m == n: obj = 4632.8906046977 not converged: it = 258 m == n: obj = 4632.8906044460 not converged: it = 259 m == n: obj = 4632.8906042145 not converged: it = 260 m == n: obj = 4632.8906040016 not converged: it = 261 m == n: obj = 4632.8906038058 not converged: it = 262 m == n: obj = 4632.8906036257 not converged: it = 263 m == n: obj = 4632.8906034600 not converged: it = 264 m == n: obj = 4632.8906033076 not converged: it = 265 m == n: obj = 4632.8906031675 not converged: it = 266 m == n: obj = 4632.8906030386 not converged: it = 267 m == n: obj = 4632.8906029200 not converged: it = 268 m == n: obj = 4632.8906028110 not converged: it = 269 m == n: obj = 4632.8906027106 not converged: it = 270 m == n: obj = 4632.8906026184 not converged: it = 271 m == n: obj = 4632.8906025335 not converged: it = 272 m == n: obj = 4632.8906024555 not converged: it = 273 m == n: obj = 4632.8906023837 not converged: it = 274 m == n: obj = 4632.8906023176 not converged: it = 275 m == n: obj = 4632.8906022569 not converged: it = 276 m == n: obj = 4632.8906022010 not converged: it = 277 m == n: obj = 4632.8906021496 not converged: it = 278 m == n: obj = 4632.8906021024 not converged: it = 279 m == n: obj = 4632.8906020589 not converged: it = 280 m == n: obj = 4632.8906020189 not converged: it = 281 m == n: obj = 4632.8906019821 not converged: it = 282 m == n: obj = 4632.8906019483 not converged: it = 283 m == n: obj = 4632.8906019171 not converged: it = 284 m == n: obj = 4632.8906018885 not converged: it = 285 m == n: obj = 4632.8906018622 not converged: it = 286 m == n: obj = 4632.8906018379 not converged: it = 287 m == n: obj = 4632.8906018157 not converged: it = 288 m == n: obj = 4632.8906017952 not converged: it = 289 m == n: obj = 4632.8906017763 not converged: it = 290 m == n: obj = 4632.8906017590 not converged: it = 291 m == n: obj = 4632.8906017430 not converged: it = 292 m == n: obj = 4632.8906017284 not converged: it = 293 m == n: obj = 4632.8906017149 not converged: it = 294 m == n: obj = 4632.8906017025 not converged: it = 295 m == n: obj = 4632.8906016911 not converged: it = 296 m == n: obj = 4632.8906016806 not converged: it = 297 m == n: obj = 4632.8906016709 not converged: it = 298 m == n: obj = 4632.8906016620 not converged: it = 299 m == n: obj = 4632.8906016539 not converged: it = 300 m == n: obj = 4632.8906016463 not converged: it = 301 m == n: obj = 4632.8906016394 not converged: it = 302 m == n: obj = 4632.8906016331 not converged: it = 303 m == n: obj = 4632.8906016272 not converged: it = 304 m == n: obj = 4632.8906016218 not converged: it = 305 m == n: obj = 4632.8906016169 not converged: it = 306 m == n: obj = 4632.8906016123 not converged: it = 307 m == n: obj = 4632.8906016081 not converged: it = 308 m == n: obj = 4632.8906016043 not converged: it = 309 m == n: obj = 4632.8906016007 not converged: it = 310 m == n: obj = 4632.8906015975 not converged: it = 311 m == n: obj = 4632.8906015945 not converged: it = 312 m == n: obj = 4632.8906015917 not converged: it = 313 m == n: obj = 4632.8906015892 not converged: it = 314 m == n: obj = 4632.8906015868 not converged: it = 315 m == n: obj = 4632.8906015847 not converged: it = 316 m == n: obj = 4632.8906015827 not converged: it = 317 m == n: obj = 4632.8906015809 not converged: it = 318 m == n: obj = 4632.8906015792 not converged: it = 319 m == n: obj = 4632.8906015777 not converged: it = 320 m == n: obj = 4632.8906015762 not converged: it = 321 m == n: obj = 4632.8906015749 not converged: it = 322 m == n: obj = 4632.8906015737 not converged: it = 323 m == n: obj = 4632.8906015726 not converged: it = 324 m == n: obj = 4632.8906015716 not converged: it = 325 m == n: obj = 4632.8906015707 not converged: it = 326 m == n: obj = 4632.8906015698 not converged: it = 327 m == n: obj = 4632.8906015691 not converged: it = 328 m == n: obj = 4632.8906015683 not converged: it = 329 m == n: obj = 4632.8906015677 not converged: it = 330 m == n: obj = 4632.8906015671 not converged: it = 331 m == n: obj = 4632.8906015665 not converged: it = 332 m == n: obj = 4632.8906015660 not converged: it = 333 m == n: obj = 4632.8906015655 not converged: it = 334 m == n: obj = 4632.8906015650 not converged: it = 335 m == n: obj = 4632.8906015646 not converged: it = 336 m == n: obj = 4632.8906015643 not converged: it = 337 m == n: obj = 4632.8906015639 not converged: it = 338 m == n: obj = 4632.8906015636 not converged: it = 339 m == n: obj = 4632.8906015633 not converged: it = 340 m == n: obj = 4632.8906015630 not converged: it = 341 m == n: obj = 4632.8906015628 not converged: it = 342 m == n: obj = 4632.8906015626 not converged: it = 343 m == n: obj = 4632.8906015624 not converged: it = 344 m == n: obj = 4632.8906015622 not converged: it = 345 m == n: obj = 4632.8906015620 not converged: it = 346 m == n: obj = 4632.8906015618 not converged: it = 347 m == n: obj = 4632.8906015617 not converged: it = 348 m == n: obj = 4632.8906015615 not converged: it = 349 m == n: obj = 4632.8906015614 not converged: it = 350 m == n: obj = 4632.8906015613 not converged: it = 351 m == n: obj = 4632.8906015612 not converged: it = 352 m == n: obj = 4632.8906015611 not converged: it = 353 m == n: obj = 4632.8906015610 not converged: it = 354 m == n: obj = 4632.8906015609 not converged: it = 355 m == n: obj = 4632.8906015608 not converged: it = 356 m == n: obj = 4632.8906015608 not converged: it = 357 m == n: obj = 4632.8906015607 not converged: it = 358 m == n: obj = 4632.8906015606 not converged: it = 359 m == n: obj = 4632.8906015606 not converged: it = 360 m == n: obj = 4632.8906015605 not converged: it = 361 m == n: obj = 4632.8906015605 not converged: it = 362 m == n: obj = 4632.8906015604 not converged: it = 363 m == n: obj = 4632.8906015604 not converged: it = 364 m == n: obj = 4632.8906015603 not converged: it = 365 m == n: obj = 4632.8906015603 not converged: it = 366 m == n: obj = 4632.8906015603 not converged: it = 367 m == n: obj = 4632.8906015602 not converged: it = 368 m == n: obj = 4632.8906015602 not converged: it = 369 m == n: obj = 4632.8906015602 not converged: it = 370 m == n: obj = 4632.8906015602 not converged: it = 371 m == n: obj = 4632.8906015602 not converged: it = 372 m == n: obj = 4632.8906015601 not converged: it = 373 m == n: obj = 4632.8906015601 not converged: it = 374 m == n: obj = 4632.8906015601 not converged: it = 375 m == n: obj = 4632.8906015601 not converged: it = 376 m == n: obj = 4632.8906015601 not converged: it = 377 m == n: obj = 4632.8906015601 not converged: it = 378 m == n: obj = 4632.8906015600 not converged: it = 379 m == n: obj = 4632.8906015600 not converged: it = 380 m == n: obj = 4632.8906015600 not converged: it = 381 m == n: obj = 4632.8906015600 not converged: it = 382 m == n: obj = 4632.8906015600 not converged: it = 383 m == n: obj = 4632.8906015600 not converged: it = 384 m == n: obj = 4632.8906015600 Converged after 385 iterations, obj = 4632.8906015599995953 fanny()'s caddy(*, k = 4): -> k_true (crisp) = 4 > f4.16.2<- fanny(chorSub, k = 4, memb.exp = 1.6, + iniMem.p = cluster:::as.membership(p4cl), tol = 1e-10, trace.lev = 2) fanny()'s fuzzy(n = 61, k = 4): fuzzy(): initial obj = 7365.64 ef[]= ( 46750.7, 97854, 64737.8, 24170.1) esp[]= ( 17, 17, 17, 10) m == n: obj = 4744.9792255200 not converged: it = 1 m == n: obj = 4679.5979841397 not converged: it = 2 m == n: obj = 4661.1063474652 not converged: it = 3 m == n: obj = 4651.1976132009 not converged: it = 4 m == n: obj = 4645.1558185569 not converged: it = 5 m == n: obj = 4641.3016999595 not converged: it = 6 m == n: obj = 4638.7561402053 not converged: it = 7 m == n: obj = 4637.0268537669 not converged: it = 8 m == n: obj = 4635.8286004555 not converged: it = 9 m == n: obj = 4634.9880315172 not converged: it = 10 m == n: obj = 4634.3943437634 not converged: it = 11 m == n: obj = 4633.9736501112 not converged: it = 12 m == n: obj = 4633.6751509742 not converged: it = 13 m == n: obj = 4633.4632343974 not converged: it = 14 m == n: obj = 4633.3126714974 not converged: it = 15 m == n: obj = 4633.2055165701 not converged: it = 16 m == n: obj = 4633.1290071452 not converged: it = 17 m == n: obj = 4633.0740913561 not converged: it = 18 m == n: obj = 4633.0343739482 not converged: it = 19 m == n: obj = 4633.0053552141 not converged: it = 20 m == n: obj = 4632.9838809909 not converged: it = 21 m == n: obj = 4632.9677467724 not converged: it = 22 m == n: obj = 4632.9554145804 not converged: it = 23 m == n: obj = 4632.9458119538 not converged: it = 24 m == n: obj = 4632.9381902596 not converged: it = 25 m == n: obj = 4632.9320254723 not converged: it = 26 m == n: obj = 4632.9269490798 not converged: it = 27 m == n: obj = 4632.9227001877 not converged: it = 28 m == n: obj = 4632.9190924339 not converged: it = 29 m == n: obj = 4632.9159911876 not converged: it = 30 m == n: obj = 4632.9132978577 not converged: it = 31 m == n: obj = 4632.9109390974 not converged: it = 32 m == n: obj = 4632.9088593706 not converged: it = 33 m == n: obj = 4632.9070158249 not converged: it = 34 m == n: obj = 4632.9053747439 not converged: it = 35 m == n: obj = 4632.9039090813 not converged: it = 36 m == n: obj = 4632.9025967379 not converged: it = 37 m == n: obj = 4632.9014193477 not converged: it = 38 m == n: obj = 4632.9003614151 not converged: it = 39 m == n: obj = 4632.8994096946 not converged: it = 40 m == n: obj = 4632.8985527385 not converged: it = 41 m == n: obj = 4632.8977805631 not converged: it = 42 m == n: obj = 4632.8970843966 not converged: it = 43 m == n: obj = 4632.8964564866 not converged: it = 44 m == n: obj = 4632.8958899491 not converged: it = 45 m == n: obj = 4632.8953786491 not converged: it = 46 m == n: obj = 4632.8949171027 not converged: it = 47 m == n: obj = 4632.8945003975 not converged: it = 48 m == n: obj = 4632.8941241249 not converged: it = 49 m == n: obj = 4632.8937843232 not converged: it = 50 m == n: obj = 4632.8934774285 not converged: it = 51 m == n: obj = 4632.8932002321 not converged: it = 52 m == n: obj = 4632.8929498430 not converged: it = 53 m == n: obj = 4632.8927236556 not converged: it = 54 m == n: obj = 4632.8925193198 not converged: it = 55 m == n: obj = 4632.8923347162 not converged: it = 56 m == n: obj = 4632.8921679323 not converged: it = 57 m == n: obj = 4632.8920172421 not converged: it = 58 m == n: obj = 4632.8918810877 not converged: it = 59 m == n: obj = 4632.8917580629 not converged: it = 60 m == n: obj = 4632.8916468978 not converged: it = 61 m == n: obj = 4632.8915464462 not converged: it = 62 m == n: obj = 4632.8914556728 not converged: it = 63 m == n: obj = 4632.8913736426 not converged: it = 64 m == n: obj = 4632.8912995115 not converged: it = 65 m == n: obj = 4632.8912325169 not converged: it = 66 m == n: obj = 4632.8911719701 not converged: it = 67 m == n: obj = 4632.8911172490 not converged: it = 68 m == n: obj = 4632.8910677916 not converged: it = 69 m == n: obj = 4632.8910230905 not converged: it = 70 m == n: obj = 4632.8909826870 not converged: it = 71 m == n: obj = 4632.8909461670 not converged: it = 72 m == n: obj = 4632.8909131564 not converged: it = 73 m == n: obj = 4632.8908833169 not converged: it = 74 m == n: obj = 4632.8908563432 not converged: it = 75 m == n: obj = 4632.8908319595 not converged: it = 76 m == n: obj = 4632.8908099163 not converged: it = 77 m == n: obj = 4632.8907899884 not converged: it = 78 m == n: obj = 4632.8907719724 not converged: it = 79 m == n: obj = 4632.8907556842 not converged: it = 80 m == n: obj = 4632.8907409578 not converged: it = 81 m == n: obj = 4632.8907276430 not converged: it = 82 m == n: obj = 4632.8907156041 not converged: it = 83 m == n: obj = 4632.8907047185 not converged: it = 84 m == n: obj = 4632.8906948754 not converged: it = 85 m == n: obj = 4632.8906859747 not converged: it = 86 m == n: obj = 4632.8906779259 not converged: it = 87 m == n: obj = 4632.8906706472 not converged: it = 88 m == n: obj = 4632.8906640647 not converged: it = 89 m == n: obj = 4632.8906581117 not converged: it = 90 m == n: obj = 4632.8906527276 not converged: it = 91 m == n: obj = 4632.8906478581 not converged: it = 92 m == n: obj = 4632.8906434537 not converged: it = 93 m == n: obj = 4632.8906394699 not converged: it = 94 m == n: obj = 4632.8906358664 not converged: it = 95 m == n: obj = 4632.8906326068 not converged: it = 96 m == n: obj = 4632.8906296582 not converged: it = 97 m == n: obj = 4632.8906269907 not converged: it = 98 m == n: obj = 4632.8906245774 not converged: it = 99 m == n: obj = 4632.8906223942 not converged: it = 100 m == n: obj = 4632.8906204189 not converged: it = 101 m == n: obj = 4632.8906186316 not converged: it = 102 m == n: obj = 4632.8906170145 not converged: it = 103 m == n: obj = 4632.8906155512 not converged: it = 104 m == n: obj = 4632.8906142271 not converged: it = 105 m == n: obj = 4632.8906130289 not converged: it = 106 m == n: obj = 4632.8906119446 not converged: it = 107 m == n: obj = 4632.8906109632 not converged: it = 108 m == n: obj = 4632.8906100750 not converged: it = 109 m == n: obj = 4632.8906092711 not converged: it = 110 m == n: obj = 4632.8906085435 not converged: it = 111 m == n: obj = 4632.8906078849 not converged: it = 112 m == n: obj = 4632.8906072887 not converged: it = 113 m == n: obj = 4632.8906067490 not converged: it = 114 m == n: obj = 4632.8906062603 not converged: it = 115 m == n: obj = 4632.8906058180 Converged after 116 iterations, obj = 4632.8906058179836691 fanny()'s caddy(*, k = 4): -> k_true (crisp) = 4 > all.equal((m1 <- f4.16 $membership), + (m2 <- f4.16.2$membership)) [1] "Mean relative difference: 0.0002281145" > ## IGNORE_RDIFF_END > stopifnot(identical(dimnames(m1), dimnames(m2)), + 0 < m1,m1 < 1, 0 < m2,m2 < 1, + ## the memberships are quite close but have only converged to precision 0.000228 + all.equal(m1, m2, tol = 0.001)) > stopifnot(exprs = { + f4.16$clustering == f4.16.2$clustering + all.equal(f4.16[notMconv], f4.16.2[notMconv], tol = 1e-7) + }) > > f4.14 <- fanny(chorSub, k = 4, memb.exp = 1.4) > f4.12 <- fanny(chorSub, k = 4, memb.exp = 1.2) > > table(f4.12$clustering, f4.14$clustering)# close but different 1 2 3 4 1 14 0 8 0 2 1 14 0 2 3 0 0 12 5 4 0 0 0 5 > table(f4.16$clustering, f4.14$clustering)# ditto 1 2 3 4 1 2 0 1 5 2 1 14 0 7 3 3 0 4 0 4 9 0 15 0 > table(f4.12$clustering, f4.16$clustering)# hence differ even more 1 2 3 4 1 2 0 3 17 2 1 16 0 0 3 5 1 4 7 4 0 5 0 0 > > symnum(cbind(f4.16$membership, 1, f4.12$membership), + cutpoints= c(0., 0.2, 0.6, 0.8, 0.9, 0.95, 1 -1e-7, 1 +1e-7), + symbols = c(" ", ".", ",", "+", "*", "B","1")) 190 . . . . 1 , 191 . . 1 B 192 . . . . 1 + 193 . . 1 * 194 . . 1 B 195 . . . . 1 + 196 . . . . 1 , 197 . . . . 1 + 198 . . 1 + 199 . . 1 B 200 . . . . 1 , . 201 . . 1 B 202 . . 1 B 203 . . . . 1 . . 204 . . 1 + 205 . . . . 1 * 206 . . 1 + 207 . . 1 B 208 . . 1 B 209 . . 1 B 210 . . 1 + 211 . . 1 + 212 . . . . 1 . . 213 . . . . 1 , 214 . . . . 1 . , 215 . . 1 B 216 . . 1 B 217 . . 1 B 218 . . 1 . , 219 . . . . 1 . . 220 . . 1 B 221 . . 1 , 222 . . 1 B 223 . . . . 1 . . 224 . . 1 , . 225 . . . . 1 + 226 . . 1 + 227 . . 1 B 228 . . . . 1 . . 229 . . . . 1 . . . 230 . . 1 , . 231 . . 1 * 232 . . 1 . , 233 . . 1 B 234 . . 1 , . 235 . . . . 1 + 236 . . . . 1 B 237 . . 1 B 238 . . 1 + 239 . . 1 B 240 . . 1 B 241 . . . . 1 , . 242 . . 1 B 243 . . 1 * 244 . . 1 + 245 . . 1 B 246 . . 1 B 247 . . . . 1 B 248 . . 1 + 249 . . 1 + 250 . . 1 + attr(,"legend") [1] 0 ' ' 0.2 '.' 0.6 ',' 0.8 '+' 0.9 '*' 0.95 'B' 0.9999999 '1' 1 > > > ## Last Line: > cat('Time elapsed: ', proc.time() - .proctime00,'\n') Time elapsed: 0.136 0.007 0.143 0 0 > > proc.time() user system elapsed 0.230 0.038 0.260