Cara membuat peta panas korelasi di r (dengan contoh)


Anda dapat menggunakan sintaks dasar berikut untuk membuat peta panas korelasi di R:

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

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh: Buat Peta Panas Korelasi di R

Misalkan kita memiliki kerangka data berikut di R yang menunjukkan berbagai statistik untuk delapan pemain bola basket yang berbeda:

 #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

Misalkan kita ingin membuat peta panas korelasi untuk memvisualisasikan koefisien korelasi antara setiap kombinasi variabel berpasangan dalam bingkai data.

Sebelum membuat peta panas korelasi, pertama-tama kita perlu menghitung koefisien korelasi antara masing-masing variabel menggunakan cor() dan kemudian mengubah hasilnya ke dalam format yang dapat digunakan menggunakan fungsimelt() paket reshape2 :

 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

Selanjutnya, kita bisa menggunakan fungsi geom_tile() dari paket ggplot2 untuk membuat peta panas korelasi:

 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()) 

peta panas korelasi di R

Hasilnya adalah peta panas korelasi yang memungkinkan kita memvisualisasikan koefisien korelasi antara setiap kombinasi variabel berpasangan.

Dalam peta panas khusus ini, koefisien korelasi memiliki warna berikut:

  • Biru jika mendekati -1
  • Putih jika mendekati 0
  • Merah jika mendekati 1

Jangan ragu untuk menggunakan warna apa pun yang Anda inginkan untuk argumen rendah dan tinggi dalam fungsi scale_fill_gradient2() .

Misalnya, Anda dapat menggunakan “merah” untuk nilai rendah dan “hijau” untuk nilai tinggi:

 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()) 

peta panas korelasi di R dengan warna khusus

Catatan : Anda juga dapat menentukan kode warna heksadesimal untuk digunakan jika Anda ingin lebih mengontrol warna yang tepat dalam peta panas korelasi.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di ggplot2:

Cara memutar label sumbu di ggplot2
Cara mengatur jeda sumbu di ggplot2
Cara menetapkan batas sumbu di ggplot2
Cara mengubah label legenda di ggplot2

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *