Comment Créer une Heatmap Interactive de Matrice de Corrélation dans R



Comment Créer une Heatmap Interactive de Matrice de Corrélation dans R

Cet article décrit comment créer une matrice de corrélation interactive dans R. Vous apprendrez deux approches différentes:

  1. Utilisation du package R heatmaply
  2. Utilisation de la combinaison des packages R ggcorrplot et plotly.

Heatmap interactive dans R en utilisant heatmaply



Sommaire:

Prérequis

Installer les packages R nécessaires:

install.packages("plotly")
install.packages("heatmaply")
install.packages("ggcorrplot")

Préparation des données

df <- mtcars

Heatmaps de corrélation utilisant heatmaply

Charger les packages R

library(heatmaply)

Heatmap de base de la matrice de corrélation

Utilisez les arguments k_col et k_row pour spécifier le nombre de groupes désirés pour colorer les branches du dendrogramme dans les colonnes et les lignes, respectivement.

heatmaply_cor(
  cor(df),
  xlab = "Features", 
  ylab = "Features",
  k_col = 2, 
  k_row = 2
)

Modifier la taille du point en fonction des p-values du test de corrélation

# Calculer les coefficients de corrélation
cor.coef <- cor(df)

# Calculer les p-values de corrélation
cor.test.p <- function(x){
    FUN <- function(x, y) cor.test(x, y)[["p.value"]]
    z <- outer(
      colnames(x), 
      colnames(x), 
      Vectorize(function(i,j) FUN(x[,i], x[,j]))
    )
    dimnames(z) <- list(colnames(x), colnames(x))
    z
}
p <- cor.test.p(df)
# Créer la Heatmap
heatmaply_cor(
  cor.coef,
  node_type = "scatter",
  point_size_mat = -log10(p), 
  point_size_name = "-log10(p-value)",
  label_names = c("x", "y", "Correlation")
)

Heatmaps de corrélation utilisant ggcorrplot

Charger les packages R

library(ggcorrplot)

Heatmap statique de la matrice de corrélation

# Calculer une matrice de corrélation
corr <- round(cor(df), 1)

# Calculer une matrice de p-values de corrélation
p.mat <- cor_pmat(df)

# Visualiser le triangle inférieur de la matrice de corrélation
# Barrer les coefficients on significatifs
corr.plot <- ggcorrplot(
  corr, hc.order = TRUE, type = "lower", outline.col = "white",
  p.mat = p.mat
  )
corr.plot

Rendre la Heatmap interactive

library(plotly)
ggplotly(corr.plot)

`



Version: English





No Comments

Give a comment

Want to post an issue with R? If yes, please make sure you have read this: How to Include Reproducible R Script Examples in Datanovia Comments