#' Cluster groups based on invariance matrices
#'
#' \code{ClusterAnalysis} conducts a cluster analysis for each invaraince matrix
#' in a list.
#'
#' This function uses \code{\link[stats]{hclust}} to conduct a cluster analysis
#' for each invaraince matrix in a list.
#'
#' @param matrix.list A list of invariance matrices from
#' \code{\link{InvarianceMatrices}}
#' @param ... optional arguments that are passed to \code{\link[stats]{hclust}}
#' @return This function returns a list of objects of class hclust.
#'
#' @export
ClusterAnalysis <- function(matrix.list, ...) {
# creating list to fill in and output
out.list <- list()
# for each invariance matrix, run cluster analysis
for(matrix.number in 1:length(matrix.list)){
# subset matrix.list to a matrix
temp.matrix <- matrix.list[[matrix.number]]
# create a distance matrix
temp.distances <- stats::dist(temp.matrix)
temp.distances[1:length(temp.distances)] <-
temp.matrix[lower.tri(temp.matrix)] - min(temp.matrix, na.rm = T)
# run cluster analysis
temp.cluster = stats::hclust(temp.distances, ...)
# fill in output list
out.list[[matrix.number]] <- temp.cluster
# create names for output list
names(out.list)[matrix.number] <- names(matrix.list)[matrix.number]
}
return(out.list)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.