R/simpleCorMatrix.R

Defines functions corMatrix

Documented in corMatrix

#' 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)


}
nicohuttmann/htmnanalysis documentation built on Dec. 6, 2020, 3:02 a.m.