Learn R Programming

corrplot (version 0.84)

corrMatOrder: Reorder a correlation matrix.

Description

Draw rectangle(s) around the chart of corrrlation matrix based on the number of each cluster's members.

Usage

corrMatOrder(corr, order = c("AOE", "FPC", "hclust", "alphabet"),
  hclust.method = c("complete", "ward", "ward.D", "ward.D2", "single",
  "average", "mcquitty", "median", "centroid"))

Arguments

corr

Correlation matrix to reorder.

order

Character, the ordering method for the correlation matrix.

  • "AOE" for the angular order of the eigenvectors. It is calculated from the order of the angles, \(a_i\): $$ a_i = tan (e_{i2} / e_{i1}), if e_{i1} > 0$$ $$ a_i = tan (e_{i2} / e_{i1}) + \pi, otherwise.$$ where \(e_1\) and \(e_2\) are the largest two eigenvalues of matrix corr. See Michael Friendly (2002) for details.

  • "FPC" for the first principal component order.

  • "hclust" for hierarchical clustering order.

  • "alphabet" for alphabetical order.

hclust.method

Character, the agglomeration method to be used when order is hclust. This should be one of "ward", "ward.D", "ward.D2", "single", "complete", "average", "mcquitty", "median" or "centroid".

Value

Returns a single permutation vector.

See Also

Package seriation offers more methods to reorder matrices, such as ARSA, BBURCG, BBWRCG, MDS, TSP, Chen and so forth.

Examples

Run this code
# NOT RUN {
M <- cor(mtcars)

(order.AOE <- corrMatOrder(M, order = "AOE"))
(order.FPC <- corrMatOrder(M, order = "FPC"))
(order.hc <- corrMatOrder(M, order = "hclust"))
(order.hc2 <- corrMatOrder(M, order = "hclust", hclust.method = "ward"))

M.AOE <- M[order.AOE,order.AOE]
M.FPC <- M[order.FPC,order.FPC]
M.hc  <- M[order.hc, order.hc]
M.hc2 <- M[order.hc2,order.hc2]



par(ask = TRUE)
corrplot(M)
corrplot(M.AOE)
corrplot(M.FPC)
corrplot(M.hc)

corrplot(M.hc)
corrRect.hclust(corr = M.hc, k = 2)

corrplot(M.hc)
corrRect.hclust(corr = M.hc, k = 3)

corrplot(M.hc2)
corrRect.hclust(M.hc2, k = 2, method = "ward")
# }

Run the code above in your browser using DataLab