So erstellen sie eine korrelations-heatmap in r (mit beispiel)
Sie können die folgende grundlegende Syntax verwenden, um eine Korrelations-Heatmap in R zu erstellen:
#calculate correlation between each pairwise combination of variables cor_df <- round(cor(df), 2) #melt the data frame melted_cormat <- melt(cor_df) #create correlation heatmap ggplot(data = melted_cormat, aes(x=Var1, y=Var2, fill=value)) + geom_tile() + geom_text(aes(Var2, Var1, label = value), size = 5 ) + scale_fill_gradient2(low = " blue ", high = " red ", limit = c(-1,1), name=" Correlation ") + theme(axis. title . x = element_blank(), axis. title . y = element_blank(), panel. background = element_blank())
Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.
Beispiel: Erstellen Sie eine Korrelations-Heatmap in R
Angenommen, wir haben den folgenden Datenrahmen in R, der verschiedene Statistiken für acht verschiedene Basketballspieler zeigt:
#create data frame
df <- data. frame (points=c(22, 25, 30, 16, 14, 18, 29, 22),
assists=c(4, 4, 5, 7, 8, 6, 7, 12),
rebounds=c(10, 7, 7, 6, 8, 5, 4, 3),
blocks=c(12, 4, 4, 6, 5, 3, 8, 5))
#view data frame
df
points assists rebounds blocks
1 22 4 10 12
2 25 4 7 4
3 30 5 7 4
4 16 7 6 6
5 14 8 8 5
6 18 6 5 3
7 29 7 4 8
8 22 12 3 5
Angenommen, wir möchten eine Korrelations-Heatmap erstellen, um den Korrelationskoeffizienten zwischen jeder paarweisen Kombination von Variablen im Datenrahmen zu visualisieren.
Bevor wir die Korrelations-Heatmap erstellen, müssen wir zunächst mit cor() den Korrelationskoeffizienten zwischen den einzelnen Variablen berechnen und die Ergebnisse dann mit der Funktion „reshape2 “ des Pakets „melt()“ in ein verwendbares Format umwandeln:
library (reshape2) #calculate correlation coefficients, rounded to 2 decimal places cor_df <- round(cor(df), 2) #melt the data frame melted_cor <- melt(cor_df) #view head of melted data frame head(melted_cor) Var1 Var2 value 1 points points 1.00 2 assist points -0.27 3 rebound points -0.16 4 block points 0.10 5 assist points -0.27 6 assists assists 1.00
Als nächstes können wir die Funktion geom_tile() aus dem Paket ggplot2 verwenden, um eine Korrelations-Heatmap zu erstellen:
library (ggplot2) #create correlation heatmap ggplot(data = melted_cor, aes(x=Var1, y=Var2, fill=value)) + geom_tile() + geom_text(aes(Var2, Var1, label = value), size = 5 ) + scale_fill_gradient2(low = " blue ", high = " red ", limit = c(-1,1), name=" Correlation ") + theme(axis. title . x = element_blank(), axis. title . y = element_blank(), panel. background = element_blank())
Das Ergebnis ist eine Korrelations-Heatmap, die es uns ermöglicht, den Korrelationskoeffizienten zwischen jeder paarweisen Kombination von Variablen zu visualisieren.
In dieser speziellen Wärmekarte nehmen die Korrelationskoeffizienten die folgenden Farben an:
- Blau , wenn sie nahe bei -1 liegen
- Weiß , wenn sie nahe bei 0 liegen
- Rot , wenn sie nahe bei 1 liegen
Fühlen Sie sich frei, beliebige Farben für die niedrigen und hohen Argumente in der Funktion „scale_fill_gradient2()“ zu verwenden.
Sie können beispielsweise „Rot“ für einen niedrigen Wert und „Grün“ für einen hohen Wert verwenden:
library (ggplot2) #create correlation heatmap ggplot(data = melted_cor, aes(x=Var1, y=Var2, fill=value)) + geom_tile() + geom_text(aes(Var2, Var1, label = value), size = 5 ) + scale_fill_gradient2(low = " red ", high = " green ", limit = c(-1,1), name=" Correlation ") + theme(axis. title . x = element_blank(), axis. title . y = element_blank(), panel. background = element_blank())
Hinweis : Sie können auch hexadezimale Farbcodes angeben, wenn Sie noch mehr Kontrolle über die genauen Farben in der Korrelations-Heatmap wünschen.
Zusätzliche Ressourcen
Die folgenden Tutorials erklären, wie Sie andere häufige Aufgaben in ggplot2 ausführen:
So drehen Sie Achsenbeschriftungen in ggplot2
So legen Sie Achsenumbrüche in ggplot2 fest
So legen Sie Achsengrenzen in ggplot2 fest
So ändern Sie Legendenbeschriftungen in ggplot2