#' Computes and plots correlation matrix
#'
#' @return
#' @export
#'
#'
#' @importFrom WGCNA cor
#' @importFrom fastcluster hclust
#' @importFrom reshape2 melt
#' @import ggplot2
#'
corMatrix <- function(data) {
if(!hasArg(data)) {
data <- getDataFrame()
}
data.cor <- WGCNA::cor(data)
dist <- dist(x = data.cor)
dendro <- fastcluster::hclust(d = dist, method = "complete")
print(ggdendrogram(data = as.dendrogram(dendro), rotate = TRUE, labels = F))
#Sort dataframe
data.cor.melt <- data.frame(data.cor[,dendro$order])
data.cor.melt <- melt(cbind(row.names(data.cor.melt), data.cor.melt), id.vars = 1)
colnames(data.cor.melt) <- c("X", "Y", "value")
data.cor.melt$X<-factor(data.cor.melt$X, levels = data.cor.melt$X[rev(dendro$order)])
#Plot
p <- ggplot(data.cor.melt, aes(X, Y)) +
geom_tile(aes(fill = value)) +
scale_fill_gradientn(colors = c("navyblue","white","red4"), limits = c(-1, 1)) +
theme(axis.title.x = element_blank(),
axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
axis.title.y = element_blank(),
axis.ticks.y = element_blank(),
axis.text.y = element_blank())
#legend.position = "none")
print(p)
ggsave("test4.png", p)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.