Difference between revisions of "Cluster.R"
From Organic Design wiki
(Add alt naming functionality) |
(Adding euclid example) |
||
Line 17: | Line 17: | ||
} | } | ||
− | # | + | # Euclidian distance |
+ | X <- matrix(1:9, nc=3) | ||
+ | X1 <- X[1,] | ||
+ | X2 <- X[2,] | ||
+ | |||
+ | dist(X) | ||
+ | sqrt(sum((X1-X2)^2)) | ||
+ | |||
+ | # Example | ||
x <- matrix(rnorm(40), nc=4) | x <- matrix(rnorm(40), nc=4) | ||
colnames(x) <- LETTERS[1:4] | colnames(x) <- LETTERS[1:4] |
Revision as of 03:36, 8 December 2006
clusterPlot <- function(x, rowNames = NULL, dmethod = "euclidian", hmethod="complete", ...) {
oldpar <- par(mfrow=c(2,1))
if(is.character(rowNames) & (length(rowNames) == nrow(x))) { rownames(x) <- rowNames } xDist <- dist(x, method=dmethod)
- 1) Tree dendrogram
xClust <- hclust(xDist, method=hmethod) plclust(xClust, sub="")
- 2) Image plot...
image(x = 1:nrow(x), y = 1:ncol(x), z = x[xClust$order, ], col=heat.colors(nrow(x)), ...) par(oldpar) invisible()
}
- Euclidian distance
X <- matrix(1:9, nc=3) X1 <- X[1,] X2 <- X[2,]
dist(X) sqrt(sum((X1-X2)^2))
- Example
x <- matrix(rnorm(40), nc=4) colnames(x) <- LETTERS[1:4] rownames(x) <- letters[1:10] clusterPlot(x) clusterPlot(x, rowNames = LETTERS[1:10])