Aggiornamento: ho postato una soluzione con una lunga esempio e la discussione here. (è basato sul codice che ho dato sotto). Inoltre, Hadley è stato molto gentile e ha offerto un'implementazione ggplot2 del codice.
Ecco una soluzione di base (per uno migliore, guardare il "aggiornamento" di cui sopra):
set.seed(100)
Data <- rbind(matrix(rnorm(100, sd = 0.3), ncol = 2),
matrix(rnorm(100, mean = 1, sd = 0.3), ncol = 2))
colnames(Data) <- c("x", "y")
# noise <- runif(100,0,.05)
line.width <- rep(.004, dim(Data)[1])
Y <- NULL
X <- NULL
k.range <- 2:10
plot(0, 0, col = "white", xlim = c(1,10), ylim = c(-.5,1.6),
xlab = "Number of clusters", ylab = "Clusters means",
main = "(Basic) Clustergram")
axis(side =1, at = k.range)
abline(v = k.range, col = "grey")
centers.points <- list()
for(k in k.range){
cl <- kmeans(Data, k)
clusters.vec <- cl$cluster
the.centers <- apply(cl$centers,1, mean)
noise <- unlist(tapply(line.width, clusters.vec,
cumsum))[order(seq_along(clusters.vec)[order(clusters.vec)])]
noise <- noise - mean(range(noise))
y <- the.centers[clusters.vec] + noise
Y <- cbind(Y, y)
x <- rep(k, length(y))
X <- cbind(X, x)
centers.points[[k]] <- data.frame(y = the.centers , x = rep(k , k))
# points(the.centers ~ rep(k , k), pch = 19, col = "red", cex = 1.5)
}
require(colorspace)
COL <- rainbow_hcl(100)
matlines(t(X), t(Y), pch = 19, col = COL, lty = 1, lwd = 1.5)
# add points
lapply(centers.points,
function(xx){ with(xx,points(y~x, pch = 19, col = "red", cex = 1.3)) })

Interessante ... solo un paio di cose nel codice: avevo per cambiare 'colnames (x)' con 'colnames (data)' e la chiamata 'points (y ~ x)' nel loop è inutilizzata :) A parte questo sembra funzionare bene – nico
Ciao Nico, Ho pulito carica il codice con i tuoi suggerimenti (e con altri buoni supplementi). Sono contento che ti piaccia :) Best, Tal –
Ciao Nico, penso che potresti essere interessato a sapere che ho scritto una funzione più dettagliata e un esempio per l'utilizzo di clustergram sul mio blog qui: http: //www.r-statistics. com/2010/06/clustergram-a-grafico-per-visualizzazione-cluster-analisi-r-code / –