From: Tal Galili <tal.galili_at_gmail.com>

Date: Tue, 15 Jun 2010 13:57:57 +0300

R-help_at_r-project.org mailing list

https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. Received on Tue 15 Jun 2010 - 11:00:21 GMT

Date: Tue, 15 Jun 2010 13:57:57 +0300

I am trying to create a Clustergram in R. (More about it here: http://www.schonlau.net/clustergram.html)

And to produce a picture similar to what is seen here: http://www.schonlau.net/images/clustergramexample.gif

I was able (more or less) to write the R code for creating the image, but
there is one thing I can't seem to figure out, that is the
*changing*"smudge factor" of the lines.

I want the overlapping lines to "jitter" a tiny bit so they will give a
sense of thickness to the line (according to how many observations are
present in that cluster).

My current solution is to use a constant jitter (based on "seq") on all the
k number of clusters, but that causes glitches in the produced image (run my
code to see).

Here is a simple self reproducible code to create the image I was able to make:

# ------------------------------------

set.seed(100)

Data <- rbind(matrix(rnorm(100, sd = 0.3), ncol = 2),

matrix(rnorm(100, mean = 1, sd = 0.3), ncol = 2)) colnames(x) <- c("x", "y")

# noise <- runif(100,0,.05)

noise <- seq(0,.3, length.out = 100)

Y <- NULL

X <- NULL

k.range <- 2:10

for(k in k.range)

{

cl <- kmeans(Data, k)

y <- apply(cl$centers,1, mean)[cl$cluster] + noise
Y <- cbind(Y, y)

x <- rep(k, length(y))

X <- cbind(X, x)

points(y ~ x)

}

require(colorspace)

COL <- rainbow_hcl(100)

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")

matlines(t(X), t(Y), pch = 19, col = COL, lty = 1, lwd = 1.5)

# The next step would be to create a method for different cluster objects,

but thats for another day...

#--------------------------------------------

Any suggestions on how to do this ?

Thanks,

Tal

----------------Contact Details:-------------------------------------------------------Contact me: Tal.Galili_at_gmail.com | 972-52-7275845 Read me: www.talgalili.com (Hebrew) | www.biostatistics.co.il (Hebrew) | www.r-statistics.com (English)

[[alternative HTML version deleted]]

R-help_at_r-project.org mailing list

https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. Received on Tue 15 Jun 2010 - 11:00:21 GMT

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.2.0, at Wed 16 Jun 2010 - 07:50:33 GMT.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*