[R] 산점도와 상관계수 한 차트에 그리기 (feat. mtcars)

해당 포스트에서는 R에서 산점도와 상관계수를 한 차트에 그리는 방법을 소개합니다.

1. INTRO

R에는 데이터 분포를 파악하기 위한 산점도(Scatter Plot) 함수와 변수 간 관계를 분석할 수 있는 상관 분석 함수가 있습니다. 보통 탐색적 자료 분석(EDA) 단계에서 두 함수를 사용하게 되는데 아래와 같이 두 결과를 한 차트에 시각화 해주는 함수가 있어 소개드리게 되었습니다.

▲ R 산점도와 상관계수 함께 출력

2. psych 패키지 이용하기

이번에 사용할 psych 패키지는 다양한 기술 통계 함수를 제공하는 패키지로, 해당 패키지에서 제공하고 있는 pairs.panels() 함수를 이용해 산점도와 상관계수를 한 차트에 그려보겠습니다.

  • psych : Procedures for Psychological, Psychometric, and Personality Research

패키지 설치

install.packages("psych")
library(psych)

데이터 불러오기

데이터는 R에서 제공하는 내장 데이터셋인 mtcars에서 일부 컬럼만 추출하여 설명드리겠습니다.

# 데이터 불러오기
mtcars <- data("mtcars")

# 데이터에서 4개 컬럼 추출
mtcars_sub <- mtcars[,c("mpg", "disp", "hp", "wt")]
head(mtcars_sub) 
                   mpg disp  hp    wt
Mazda RX4         21.0  160 110 2.620
Mazda RX4 Wag     21.0  160 110 2.875
Datsun 710        22.8  108  93 2.320
Hornet 4 Drive    21.4  258 110 3.215
Hornet Sportabout 18.7  360 175 3.440
Valiant           18.1  225 105 3.460

Plot 그리기

위에서 생성한 mtcars_sub 데이터로 차트를 생성하는 코드는 아래와 같습니다.

  • stars : 유의 수준에 따른 결과가 stars(*)로 출력
    • < 0.001 : ***
    • < 0.01 : **
    • < 0.05 : *
  • lm : 차트에 회귀직선 출력
pairs.panels(mtcars_sub, stars = TRUE,  lm =TRUE)

▲ R 산점도와 상관계수 함께 출력

3. 마무리

R에서 산점도와 상관계수를 함께 출력하려면, psych 패키지의 pairs.panels() 함수를 이용하시면 됩니다!

4. 관련링크

[1] psych 패키지 소개 페이지