| order.clusters | R Documentation |
Reorders objects so that similar (or high-merit) object pairs are adjacent. The clusters argument specifies (possibly ordered) groups, and objects within a group are kept together.
order.clusters(merit,clusters,within.order = order.single,
between.order= order.single,...)
merit |
is either a symmetric matrix of merit or similarity score,
or a |
clusters |
specifies a partial grouping. It should either be a list whose ith element contains the indices of the objects in the ith cluster, or a vector of integers whose ith element gives the cluster membership of the ith object. Either representation may be used to specify grouping, the first is preferrable to specify adjacencies. |
within.order |
is a function used to order the objects within each cluster. |
between.order |
is a function used to order the clusters. |
... |
arguments are passed to |
within.order may be NULL, in which case objects within a
cluster are assumed to be in order. Otherwise, within.order
should be one of the ordering functions
order.single,order.endlink or order.hclust.
between.order may be NULL, in which case cluster order
is preserved.
Otherwise, betweem.order
should be one of the ordering functions that uses a partial ordering,
order.single or order.endlink.
A permutation of the objects represented by merit is returned.
Catherine B. Hurley
order.single,order.endlink,order.hclust.
data(state)
state.d <- dist(state.x77)
# Order the states, keeping states in a division together.
state.o <- order.clusters(-state.d, as.numeric(state.division))
cmat <- dmat.color(as.matrix(state.d), rev(cm.colors(5)))
op <- par(mar=c(1,6,1,1))
rlabels <- state.name[state.o]
plotcolors(cmat[state.o,state.o], rlabels=rlabels)
par(op)
# Alternatively, use kmeans to place the states into 6 clusters
state.km <- kmeans(state.d,6)$cluster
# An ordering obtained from the kmeans clustering...
state.o <- unlist(memship2clus(state.km))
layout(matrix(1:2,nrow=1,ncol=2),widths=c(0.1,1))
op <- par(mar=c(1,1,1,.2))
state.colors <- cbind(state.km,state.km)
plotcolors(state.colors[state.o,])
par(mar=c(1,6,1,1))
rlabels <- state.name[state.o]
plotcolors(cmat[state.o,state.o], rlabels=rlabels)
par(op)
layout(matrix(1,1))
# In the ordering above, the ordering of clusters and the
# ordering of objects within the clusters is arbitrary.
# order.clusters gives an improved order but preserves the kmeans clusters.
state.o <- order.clusters(-state.d, state.km)
# and replot
layout(matrix(1:2,nrow=1,ncol=2),widths=c(0.1,1))
op <- par(mar=c(1,1,1,.2))
state.colors <- cbind(state.km,state.km)
plotcolors(state.colors[state.o,])
par(mar=c(1,6,1,1))
rlabels <- state.name[state.o]
plotcolors(cmat[state.o,state.o], rlabels=rlabels)
par(op)
layout(matrix(1,1))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.