ggcorrplot을 통한 상관관계 그래프 그리기

Giyu·2021년 12월 12일
0

Data Visualization with R

목록 보기
9/10
post-thumbnail

상관관계 그래프는 연속형 변수들 간의 관계를 파악할 때 가장 많이 사용되는 그래프입니다.

R에서는 ggcorrplot 패키지를 활용해 이러한 상관관계 그래프를 좀 더 보기 좋게 시각화할 수 있습니다.

물론 corrgram 패키지나 corrplot 패키지 또한 상관관계 그래프를 그릴 때 자주 사용하는 패키지이지만, 개인적으로 ggcorrplot 패키지가 가장 깔끔하게 표현하는 것 같습니다.

먼저 iris 데이터셋을 사용해 가장 기초적인 형태부터 그리겠습니다.

library(ggcorrplot)

data <- cor(iris[,c(1,2,3,4)])

ggcorrplot(data)

단순히 ggcorrplot 함수 안에 cor() 함수로 생성한 상관행렬표를 집어 넣으니 색으로만 구분된 상관관계 그래프가 그려지게 됩니다.

빨간색에 가까울수록 양의 상관관계가 높음을, 파랑색에 가까울수록 음의 상관관계가 높음을 의미합니다.

다만 이 상태에서는 자기 자신의 변수 또한 겹치게 되는 문제가 생길 수 있습니다. 따라서 자기 자신과의 상관관계(무조건 1이 됩니다)를 제거하고 표현하기 위해서는 type 인자를 사용해야 합니다.

ggcorrplot(data, type = "lower")

ggcorrplot(data, type = "upper")

type을 lower로 설정하게 되면 자기 자신과의 상관관계는 사라진 상태에서 아래부터 타일을 채우게 되며, upper로 설정하게 되면 위부터 타일을 채우게 됩니다.

물론 본인의 취향에 따라 어느 쪽을 선택하던 아무 상관이 없습니다.

이제 각 타일에 두 변수 간의 상관계수를 표현하고 싶을 때 lab = T를 추가해주시면 됩니다. 또한 상관계수 글자의 크기를 키우고 싶다면 lab_size 인자를 통해 조절할 수 있습니다.

ggcorrplot(data, type = "upper", lab = T, lab_size = 10)

lab = T를 통해 상관계수를 각 타일에 표현하였고, lab_size를 10으로 설정하여 크기를 키웠습니다.

추가적으로 아래쪽 변수명의 각도를 조절하고 싶다면 tl.srt 인자를 사용하면 됩니다. 예를 들어서 변수명이 지금은 비스듬히 세워져있지만, 아예 세로로 세우고 싶다면 tl.srt = 90으로 설정해주면 됩니다.

ggcorrplot(data, type = "upper", lab = T, lab_size = 10, tl.srt = 90)

이 외에도 엄청나게 다양한 기능을 추가적으로 사용할 수 있으므로 관련 자료를 찾아보시는 것 또한 좋을 것 같습니다. 감사합니다.

profile
Data Analysis Log

0개의 댓글