124 lines
3.2 KiB
Plaintext
Raw Normal View History

2025-01-12 00:52:51 +08:00
R version 3.5.0 alpha (2018-03-28 r74481)
Copyright (C) 2018 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
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)
>
> ### clusplot() & pam() RESULT checking ...
>
> ## plotting votes.diss(dissimilarity) in a bivariate plot and
> ## partitioning into 2 clusters
> data(votes.repub)
> votes.diss <- daisy(votes.repub)
> for(k in 2:4) {
+ votes.clus <- pam(votes.diss, k, diss = TRUE)$clustering
+ print(clusplot(votes.diss, votes.clus, diss = TRUE, shade = TRUE))
+ }
$Distances
[,1] [,2]
[1,] 0.0000 154.8601
[2,] 154.8601 0.0000
$Shading
[1] 22.12103 20.87897
$Distances
[,1] [,2] [,3]
[1,] 0.0000 NA 140.8008
[2,] NA 0 NA
[3,] 140.8008 NA 0.0000
$Shading
[1] 25.602967 5.292663 15.104370
$Distances
[,1] [,2] [,3] [,4]
[1,] 0.0000 NA 117.2287 280.7259
[2,] NA 0 NA NA
[3,] 117.2287 NA 0.0000 NA
[4,] 280.7259 NA NA 0.0000
$Shading
[1] 15.431339 3.980743 10.145454 19.442464
>
> ## plotting iris (dataframe) in a 2-dimensional plot and partitioning
> ## into 3 clusters.
> data(iris)
> iris.x <- iris[, 1:4]
>
> for(k in 2:5)
+ print(clusplot(iris.x, pam(iris.x, k)$clustering, diss = FALSE))
$Distances
[,1] [,2]
[1,] 0.0000000 0.5452161
[2,] 0.5452161 0.0000000
$Shading
[1] 18.93861 24.06139
$Distances
[,1] [,2] [,3]
[1,] 0.000000 1.433071 2.851715
[2,] 1.433071 0.000000 NA
[3,] 2.851715 NA 0.000000
$Shading
[1] 18.987588 17.166940 9.845472
$Distances
[,1] [,2] [,3] [,4]
[1,] 0.000000 2.24157 1.6340329 3.0945887
[2,] 2.241570 0.00000 NA NA
[3,] 1.634033 NA 0.0000000 0.9461858
[4,] 3.094589 NA 0.9461858 0.0000000
$Shading
[1] 12.881766 14.912379 13.652381 7.553474
$Distances
[,1] [,2] [,3] [,4] [,5]
[1,] 0.000000 1.9899160 1.552387 3.11516148 3.96536391
[2,] 1.989916 0.0000000 NA NA 0.94713417
[3,] 1.552387 NA 0.000000 1.17348334 2.22769309
[4,] 3.115161 NA 1.173483 0.00000000 0.04539385
[5,] 3.965364 0.9471342 2.227693 0.04539385 0.00000000
$Shading
[1] 10.369738 11.560147 10.088431 14.857590 5.124093
>
>
> .Random.seed <- c(0L,rep(7654L,3))
> ## generate 25 objects, divided into 2 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)))
> print.default(clusplot(px2 <- pam(x, 2)))
$Distances
[,1] [,2]
[1,] 0.000000 5.516876
[2,] 5.516876 0.000000
$Shading
[1] 20.18314 22.81686
>
> clusplot(px2, labels = 2, col.p = 1 + px2$clustering)
>
> proc.time()
user system elapsed
0.320 0.070 0.449