R에서 상관관계 그래프 그리기 (corrplot())

제공

안녕하세요! 데이터 분석하면 왠지 모르게 어렵고 복잡한 그래프들이 떠오르시죠? 하지만 걱정 마세요! 오늘은 R에서 상관관계 그래프를 쉽고 예쁘게 그리는 방법을 함께 알아보려고 해요. 바로 corrplot() 함수를 사용하면 된답니다! 데이터 분석에서 변수들 간의 관계를 파악하는 건 정말 중요한데, corrplot() 함수는 이 상관관계한눈에 보기 쉽게 시각화해준답니다. 복잡한 코드 없이도 다양한 옵션으로 원하는 스타일의 그래프를 만들 수 있어서 정말 편리해요. 함께 corrplot() 함수의 매력에 퐁당 빠져볼까요?

 

 

corrplot() 함수 소개

R에서 상관관계 분석하면 뭐가 떠오르시나요? 숫자 빽빽한 행렬표가 먼저 떠오르진 않으세요? ^^; 사실 상관관계 분석 결과를 표로만 보면 눈에 잘 안 들어오는 게 사실이에요. 그래서! R에는 이런 복잡한 상관관계를 깔끔하고 예쁘게 시각화해주는 corrplot() 함수가 있어요! 마법같죠?! ✨ corrplot() 함수는 R 패키지 corrplot에 포함되어 있는데, 이 패키지는 상관행렬을 시각적으로 표현하는 데 특화되어 있어요. 산점도 행렬이나 복잡한 표 대신, 색깔과 원의 크기로 상관관계의 강도를 한눈에 파악할 수 있게 해준답니다. 정말 편리하겠죠?

corrplot() 함수의 매력

자, 그럼 corrplot() 함수가 왜 이렇게 사랑받는지, 그 매력을 좀 더 자세히 알아볼까요? corrplot() 함수는 단순히 상관관계를 보여주는 것뿐만 아니라, 다양한 시각화 옵션을 제공해서 사용자의 입맛에 딱 맞게 그래프를 꾸밀 수 있어요. 색깔, 모양, 크기 등을 조절해서 원하는 정보를 효과적으로 전달할 수 있죠. 예를 들어, 양의 상관관계는 파란색, 음의 상관관계는 빨간색으로 표현하고, 상관계수의 절댓값이 클수록 원의 크기를 크게 또는 색깔을 진하게 나타낼 수 있어요. 이렇게 하면 상관관계의 강도를 시각적으로 더욱 명확하게 보여줄 수 있겠죠?

corrplot() 함수의 장점

corrplot() 함수의 또 다른 장점은 다양한 상관계수를 지원한다는 거예요! Pearson, Spearman, Kendall 등 다양한 상관계수를 사용해서 분석 결과를 시각화할 수 있답니다. 데이터의 특성에 맞는 상관계수를 선택해서 분석 결과를 더욱 정확하게 해석할 수 있겠죠? 게다가 결측값(NA) 처리 기능도 있어서, 데이터에 결측값이 있어도 걱정 없이 분석을 진행할 수 있어요. 정말 든든하죠?!

corrplot() 함수의 사용법

corrplot() 함수의 기본적인 사용법은 아주 간단해요. corrplot(cor(데이터))처럼 cor() 함수로 계산한 상관행렬을 corrplot() 함수에 입력하기만 하면 끝! 참 쉽죠? 물론, 다양한 옵션을 추가해서 그래프를 더욱 풍성하게 만들 수도 있어요. 예를 들어, method 옵션을 사용하면 원, 사각형, 색상, 타원 등 다양한 방법으로 상관관계를 시각화할 수 있고, type 옵션을 사용하면 전체 행렬, 위쪽 삼각형, 아래쪽 삼각형 등 표시할 영역을 선택할 수 있어요. order 옵션을 사용하면 hclust, FPC, alphabet 등 다양한 방법으로 행렬의 순서를 정렬할 수도 있답니다. addCoef.col 옵션을 사용하면 상관계수 값을 그래프에 표시할 수도 있고, tl.col, tl.srt 옵션을 이용하면 변수명의 색깔과 각도를 조정할 수도 있어요. 정말 다양한 옵션이 있죠?! 이 외에도 cl.pos, cl.lim, is.corr, diag, addgrid.col 등 다양한 옵션을 활용해서 그래프를 원하는 대로 꾸밀 수 있어요. 각 옵션에 대한 자세한 설명은 ?corrplot 명령어를 통해 확인할 수 있답니다.

corrplot() 함수의 활용

corrplot() 함수는 상관관계 분석 결과를 효과적으로 전달하고 싶을 때, 데이터의 패턴을 빠르게 파악하고 싶을 때, 그리고 다양한 시각화 옵션을 활용하여 나만의 그래프를 만들고 싶을 때 사용하면 정말 유용해요! 복잡한 상관관계 분석 결과를 보기 좋고 이해하기 쉽게 만들어주는 corrplot() 함수, 앞으로 데이터 분석에 꼭 활용해 보세요! 분석 결과를 더욱 빛나게 해줄 거예요! ✨ 다음에는 더욱 흥미로운 내용으로 찾아올게요! 기대해주세요~? 😉

 

상관관계 행렬 만들기

자, 이제 본격적으로 R에서 상관관계 행렬을 만들어 볼까요? 두근두근! 상관관계 분석은 변수들 간의 관계를 파악하는 데 정말 유용한 도구랍니다. 특히 변수가 많을 때, 이 상관관계 행렬은 각 변수 쌍 사이의 관계를 한눈에 보여주는 마법의 양탄자 같아요! ✨

데이터 준비

먼저, 상관관계 행렬을 만들기 위한 데이터가 필요하겠죠? R에는 기본적으로 제공되는 데이터셋들이 많아서 연습하기에 딱 좋아요. mtcars 데이터셋을 사용해서 한번 시작해 볼게요. 이 데이터셋은 다양한 자동차 모델의 여러 가지 특성(mpg, cyl, disp, hp 등)을 담고 있답니다. 자동차 좋아하시는 분들은 흥미로워하실 거예요! 🚗

data(mtcars) # mtcars 데이터셋 불러오기
head(mtcars) # 데이터셋의 앞부분 살짝 엿보기!

head() 함수를 사용하면 데이터셋의 앞부분을 슬쩍 볼 수 있어요. 데이터가 어떻게 생겼는지 확인하는 건 정말 중요한 습관이에요! 🧐 mtcars 데이터셋에는 mpg (연비), cyl (실린더 수), disp (배기량), hp (마력) 등 다양한 변수들이 있어요. 이 변수들 간의 상관관계를 한번 알아볼까요?

상관관계 행렬 계산

cor_matrix <- cor(mtcars) # 상관관계 행렬 계산하기
cor_matrix

cor() 함수를 사용하면 간단하게 상관관계 행렬을 계산할 수 있어요! 결과로 나온 cor_matrix는 각 변수 쌍의 상관계수를 담고 있는 행렬이랍니다. 상관계수는 -1부터 1까지의 값을 가지는데, 1에 가까울수록 강한 양의 상관관계, -1에 가까울수록 강한 음의 상관관계를 나타내요. 0에 가까우면 상관관계가 약하다는 것을 의미하고요. 참 쉽죠? 😊

결과 보기 쉽게 다듬기

하지만 이렇게 숫자로만 보면 조금 어지러울 수도 있잖아요? 😅 그래서 round() 함수를 사용해서 소수점 자릿수를 줄여보는 것도 좋은 방법이에요. 소수점 둘째 자리까지만 표시해 볼까요?

round(cor_matrix, 2) # 소수점 둘째 자리까지 반올림!

훨씬 보기 편해졌죠? 이제 각 변수 간의 상관관계를 좀 더 쉽게 파악할 수 있을 거예요. 예를 들어, mpg (연비)와 wt (중량)의 상관계수는 -0.87로, 강한 음의 상관관계를 나타내요. 즉, 자동차가 무거울수록 연비가 낮아지는 경향이 있다는 것을 알 수 있죠! 😮 반대로, disp (배기량)와 hp (마력)는 상관계수가 0.89로, 강한 양의 상관관계를 보여준답니다. 배기량이 클수록 마력도 높아지는 경향이 있다는 거죠! 👍

다른 상관계수 계산하기

cor() 함수에는 다양한 옵션들이 있어요. 예를 들어, method 옵션을 사용하면 Pearson 상관계수 외에도 Spearman이나 Kendall의 타우 상관계수를 계산할 수 있답니다. 데이터의 특성에 맞게 적절한 방법을 선택하는 것이 중요해요! 😉

cor(mtcars, method = "spearman") # Spearman 상관계수 계산!
cor(mtcars, method = "kendall") # Kendall의 타우 상관계수 계산!

이처럼 상관관계 행렬을 만들고 분석하는 것은 데이터 분석의 첫걸음이라고 할 수 있어요. 변수들 간의 관계를 파악하고, 숨겨진 패턴을 발견하는 재미를 느껴보세요! 😄 다음 단계에서는 이 상관관계 행렬을 시각화하는 방법에 대해 알아볼 거예요. 더 흥미진진한 내용들이 기다리고 있으니 기대해 주세요! 😉

 

다양한 시각화 옵션 활용하기

자, 이제 corrplot() 함수의 진짜 매력을 탐구해 볼 시간이에요! 마법처럼 다양한 옵션들을 활용해서 상관관계 그래프를 내 입맛대로 꾸며볼 수 있답니다. 기본적인 원형 표현부터, 숫자, 색상, 음영까지?! 상상하는 거의 모든 것을 구현할 수 있다는 사실! 함께 흥미진진한 corrplot()의 세계로 떠나볼까요~?

corrplot() 함수는 method, type, addCoef.col, number.cex, col, bg, tl.col, tl.cex, title 등 정말 다양한 시각화 옵션들을 제공해요. 이 옵션들을 잘 활용하면 상관관계를 훨씬 효과적이고 직관적으로 표현할 수 있죠. 마치 화가가 팔레트 위의 물감을 섞어 다채로운 색을 만들어내듯이 말이에요!

method 옵션으로 그래프 종류 바꿔보기

method 옵션을 사용하면 원, 사각형, 타원, 숫자, 색상, 음영 등 다양한 방식으로 상관관계를 나타낼 수 있어요. 기본값은 “circle”로, 상관계수의 절댓값이 클수록 원의 크기가 커지고, 색상으로 상관관계의 방향(양/음)을 보여준답니다. “square”를 선택하면 사각형으로, “ellipse”를 선택하면 타원형으로 표현되죠. “number”는 상관계수 값을 직접 보여주고 싶을 때 유용하고, “shade”는 색상의 농도로 상관관계의 강도를 나타내줍니다. “color”는 색상의 밝기 변화를 통해 상관관계를 보여주는데, 섬세한 차이까지 표현하고 싶을 때 아주 좋답니다! 각각의 방법은 데이터의 특징과 분석 목적에 따라 선택하면 돼요. 예를 들어, 변수가 많을 때는 “number”가 효과적이고, 상관관계의 강도를 시각적으로 강조하고 싶을 때는 “shade”나 “color”가 좋겠죠?

# 원형 그래프 (기본값)
corrplot(M, method="circle")

# 사각형 그래프
corrplot(M, method="square")

# 숫자 표시
corrplot(M, method="number")

# 색상 음영 표시
corrplot(M, method="shade")

type 옵션으로 그래프 배치 조정하기

type 옵션을 사용하면 그래프의 전체적인 배치를 “full”, “upper”, “lower” 중에서 선택할 수 있어요. “full”은 전체 행렬을, “upper”는 상삼각행렬을, “lower”는 하삼각행렬을 표시한답니다. 상관관계 행렬은 대칭적이기 때문에, “upper” 또는 “lower”를 사용하면 정보의 중복을 피하고 공간을 효율적으로 사용할 수 있어요. 특히 변수가 많을 때 유용하죠!

# 상삼각행렬 표시
corrplot(M, type="upper")

# 하삼각행렬 표시
corrplot(M, type="lower")

addCoef.col 옵션으로 숫자 색상 변경

addCoef.col 옵션을 사용하면 그래프 안에 표시되는 상관계수 값의 색상을 지정할 수 있어요. 기본값은 “black”이지만, 배경색과 대비되는 색상을 선택하면 가독성을 높일 수 있죠. 예를 들어 배경이 어두우면 밝은 색상(“white”)을, 배경이 밝으면 어두운 색상(“black”)을 사용하는 것이 좋겠죠?

# 상관계수 값을 흰색으로 표시
corrplot(M, addCoef.col = "white")

다양한 색상 팔레트 활용

col 옵션을 사용하면 그래프에 사용될 색상 팔레트를 지정할 수 있어요. R에는 colorRampPalette() 함수를 이용하여 다양한 색상 팔레트를 만들 수 있답니다. “RdYlBu” (빨강-노랑-파랑), “BrBG” (갈색-베이지-녹색) 등의 팔레트를 사용하면 상관관계의 방향과 강도를 더욱 명확하게 보여줄 수 있어요. “heat.colors”, “terrain.colors”, “topo.colors”, “cm.colors” 등의 함수를 사용해서 나만의 특별한 색상 팔레트를 만들어 보는 것도 재밌겠죠?! 색상 선택 하나로 그래프의 분위기가 확 달라질 수 있다는 사실!

# "RdYlBu" 팔레트 사용
col <- colorRampPalette(c("#BB4444", "#EE9988", "#FFFFFF", "#77AADD", "#4477AA"))
corrplot(M, col=col(200), type="upper")

배경색과 제목 설정

bg 옵션을 사용하면 그래프의 배경색을 변경할 수 있고, title 옵션을 사용하면 그래프의 제목을 설정할 수 있어요. tl.coltl.cex 옵션을 사용하면 변수명의 색상과 크기를 조절할 수 있답니다. 이러한 옵션들을 활용하여 그래프의 전체적인 디자인을 원하는 대로 꾸며보세요! 마치 옷을 코디하듯이 말이죠!

# 배경색을 회색으로, 제목을 "상관관계 분석"으로 설정
corrplot(M, bg="grey", title="상관관계 분석", tl.col="black", tl.cex=0.8)

자, 여기까지 corrplot() 함수의 다양한 시각화 옵션들을 살펴봤어요. 어때요, 정말 다양하죠? 이 옵션들을 자유자재로 활용하면 여러분의 데이터에 딱 맞는, 세상에 하나뿐인 상관관계 그래프를 만들 수 있답니다! 다음에는 실제 데이터를 가지고 corrplot() 함수를 활용하는 방법을 알아볼게요. 기대해주세요!

 

실제 데이터 적용 예시

자, 이제 드디어!! R의 corrplot() 함수를 이용해서 실제 데이터를 가지고 상관관계 그래프를 그려보는 시간이에요! 두근두근~? 지금까지 배운 내용을 바탕으로 실제 데이터 분석에 활용하는 방법을 알아볼게요. ^^ 복잡한 데이터도 corrplot() 함수 하나면 멋지게 시각화할 수 있다는 사실! 함께 확인해 보아요~?

mtcars 데이터셋 소개

먼저, 오늘 분석에 사용할 데이터는 mtcars 데이터셋이에요! R에 기본적으로 내장되어 있는 데이터셋이라서 바로 불러와서 사용할 수 있어 편리하답니다. 자동차의 연비(mpg), 엔진 크기(disp), 마력(hp), 차체 무게(wt) 등 다양한 변수들이 포함되어 있어서 상관관계 분석 연습하기에 딱! 좋아요. head(mtcars)를 입력하면 데이터의 첫 6행을 확인할 수 있어요. 어떤 변수들이 있는지 한번 살펴보는 것도 좋겠죠~?

head(mtcars)

상관계수 행렬 계산

이제 본격적으로 상관관계 분석을 시작해 볼까요?! 먼저 cor() 함수를 사용해서 상관계수 행렬을 계산해 봅시다.

cor_matrix <- cor(mtcars)

짠! cor_matrix 변수에 상관계수 행렬이 저장되었어요. 이제 이 행렬을 corrplot() 함수에 넣어서 시각화하면 되는데요, 기본적인 원 그래프 형태로 그려볼게요!

corrplot(cor_matrix, method = "circle")

짜잔~! 원의 크기와 색깔로 상관관계의 강도를 한눈에 파악할 수 있죠? 양의 상관관계는 파란색, 음의 상관관계는 빨간색으로 표시되고, 원이 클수록 상관관계가 강하다는 것을 의미해요. 참 쉽죠~?! ^^

corrplot() 함수의 다양한 시각화 옵션

하지만, 여기서 멈추지 않을 거예요! corrplot() 함수의 진정한 매력은 바로 다양한 시각화 옵션에 있답니다. 예를 들어, 숫자를 함께 표시하고 싶다면 addCoef.col 옵션을 사용할 수 있어요. 숫자 색깔도 원하는 대로 바꿀 수 있답니다!

corrplot(cor_matrix, method = "circle", addCoef.col = "black")

어때요? 훨씬 보기 편해졌죠?! 숫자까지 함께 표시되니까 상관계수의 정확한 값을 바로 확인할 수 있어서 좋네요! ^^

상관계수 행렬의 윗부분만 표시

또 다른 옵션으로 type = "upper" 옵션을 사용하면 상관계수 행렬의 윗부분만 표시할 수도 있어요. 아랫부분은 대칭이니까 굳이 다 보여줄 필요는 없잖아요~? 효율적인 시각화를 위해 이런 옵션들을 잘 활용하는 것이 중요해요!

corrplot(cor_matrix, method = "circle", type = "upper", addCoef.col = "black")

훨씬 깔끔해 보이죠? 이처럼 corrplot() 함수는 다양한 옵션을 제공해서 사용자가 원하는 대로 그래프를 customizing 할 수 있도록 도와준답니다. order = "hclust" 옵션을 사용하면 변수들을 계층적 군집 분석 결과에 따라 순서대로 정렬하여 시각화할 수도 있어요. 관련성이 높은 변수끼리 모아서 보여주니까 데이터의 구조를 파악하는 데 도움이 되겠죠~?!

corrplot(cor_matrix, method = "circle", type = "upper", order = "hclust", addCoef.col = "black")

다양한 옵션 활용 및 추가 학습

이 외에도 tl.col, tl.srt, cl.pos 등 다양한 옵션들을 조합해서 자신만의 스타일로 상관관계 그래프를 만들어 보세요! ?corrplot 명령어를 통해 더 많은 옵션들을 확인할 수 있어요. 다양한 시각화 옵션을 활용해서 데이터 분석 결과를 효과적으로 전달하는 능력은 데이터 분석가에게 필수적인 역량이라는 점! 잊지 마세요~!! ^^

mtcars 데이터셋 외에도 여러분이 분석하고 싶은 데이터에 적용해 보면서 corrplot() 함수의 다양한 기능들을 탐색해 보는 것을 추천해요! 실제 데이터에 적용해보면서 익히는 것이 가장 효과적인 학습 방법이니까요! 데이터 분석의 세계는 무궁무진하니까요! 끊임없이 배우고 탐구하는 자세를 잊지 마세요! 화이팅!!

 

자, 이렇게 R에서 corrplot() 함수를 활용해서 상관관계 그래프를 그리는 방법을 알아봤어요! 어때요, 참 쉽죠? 처음엔 복잡해 보였을지 몰라도, 막상 해보니 생각보다 간단하게 원하는 시각화를 할 수 있었을 거예요. 다양한 옵션들을 활용해서 여러분의 데이터에 딱 맞는 멋진 그래프를 만들어 보세요. 데이터 분석, 이제 corrplot()으로 더 재미있고 효율적으로 해낼 수 있답니다! 혹시 궁금한 점이나 더 알고 싶은 부분이 있다면 언제든 댓글 남겨주세요. 함께 더 깊이 파고들어 보아요! 앞으로도 데이터 시각화 여정에 든든한 친구가 되어 드릴게요.

 


코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다