59doit

[ R ] 상관분석 본문

통계기반 데이터분석

[ R ] 상관분석

yul_S2 2022. 11. 25. 11:22
반응형

상관분석

 

변수들 간의 관련성을 분석하기 위해 사용하는 분석 방법 하나의 변수가 다른 변수와 관련성이 있는지,

있다면 어느 정도의 관련성이 있는지를 개관할 수 있는 분석기법

 

상관관계 분석 수행 시, 회귀분석에서 변수 간의 인과관계를 분석하기 전에 변수 간의 관련성을 분석하는 선행자료 (가설검정 전 수행) 로 이용 변수 간의 관련성을 위해 상관계수인 피어슨(Pearson) 계수를 이용하여 관련성 유무와 정도를 파악한다. 

 

상관계수 r은 -1~+1 까지의 값을 가진다.

가장 높은 완전 상관관계의 상관계수 : 1

두 변수 간에 전혀 상관관계가 없으면 상관계수 : 0

 

 

 

(1) 상관계수 r과 상관관계 정도

 

(2) 상관관계 분석 수행

제품의 친밀도, 적절성, 만족도 변수를 대상으로 변수 간의 상관계수를 통해서 상관관계 분석을 수행

 

ex) 기술통계량 구하기

 

product.csv
0.00MB

 

 

#1 데이터 가져오기

product <- read.csv("C:/Rwork/dataset2/product.csv", header = TRUE) 
head(product)

# 제품_친밀도 제품_적절성 제품_만족도
# 1           3           4           3
# 2           3           3           2
# 3           4           4           4
# 4           2           2           2
# 5           2           2           2
# 6           3           3           3

 

#2 기술통계량

summary(product)
# 제품_친밀도     제품_적절성     제품_만족도   
# Min.   :1.000   Min.   :1.000   Min.   :1.000  
# 1st Qu.:2.000   1st Qu.:3.000   1st Qu.:3.000  
# Median :3.000   Median :3.000   Median :3.000  
# Mean   :2.928   Mean   :3.133   Mean   :3.095  
# 3rd Qu.:4.000   3rd Qu.:4.000   3rd Qu.:4.000  
# Max.   :5.000   Max.   :5.000   Max.   :5.00

sd(product$제품_친밀도); sd(product$제품_적절성); sd(product$제품_만족도)
# [1] 0.9703446
# [1] 0.8596574
# [1] 0.8287436

 

ex) 상관계수 보기

변수간의 상관계수는 stats패키지에서 제공하는 cor()함수 사용

cor(x, y=NULL, use=”everything”, method=c(“pearson”, “kendall”, “spearman”)

method를 생략하면 pearson이 사용된다(default)

 

#1 변수 간의 상관계수 보기

cor(product$제품_친밀도, product$제품_적절성) 
# 0.4992086

cor(product$제품_친밀도, product$제품_만족도)
# 0.467145

 

#2 제품_적절성과 제품_만족도의 상관계수 보기

cor(product$제품_적절성, product$제품_만족도)
# 0.7668527

 

#3 (제품_적절성+제품_친밀도)와 제품_만족도의 상관계수 보기 

cor(product$제품_적절성+product$제품_친밀도, product$제품_만족도)
# 0.7017394

 

 

 

ex) 전체 변수 간의 상관계수 보기

대각선은 자기 상관계수를 의미

cor(product, method='pearson')
#                        제품_친밀도 제품_적절성 제품_만족도
# 제품_친밀도   1.0000000   0.4992086   0.4671450
# 제품_적절성   0.4992086   1.0000000   0.7668527
# 제품_만족도   0.4671450   0.7668527   1.0000000

 

 

ex) 방향성 있는 색상으로 표현

corrgram 패키지 설치  (R 4.0)

install.packages("corrgram")
library(corrgram)


corrgram(product)

 

corrgram(product, upper.panel = panel.conf)

corrgram(product, lower.panel = panel.conf)

 

ex) 차트에 밀도곡선, 상관성, 유의확률(별표) 추가

#1 패키지 설치

PerformanceAnalytics 패키지 설치

install.packages("PerformanceAnalytics") 
library(PerformanceAnalytics)

 

 

#2 상관성, p값(*), 정규분포(모수 검정 조건) 시각화

chart.Correlation(product,histogram = ,pch = "+")

 

#3 서열척도 대상 상관계수

cor(product, method = "spearman")
#                  제품_친밀도 제품_적절성 제품_만족도
# 제품_친밀도   1.0000000   0.5110776   0.5012007
# 제품_적절성   0.5110776   1.0000000   0.7485096
# 제품_만족도   0.5012007   0.7485096   1.0000000

서열척도로 구성된 변수에 대해서 상관계수를 구하기 위해서 “method=spearman”속성 적용

 

  • 피어슨(Pearson)상관계수: 대상변수가 등간척도 또는 비율척도일 때
  • 스피어만(Spearman) 상관계수: 대상변수가 서열척도일 때

 

 

 

(3) 상관관계 분석 결과 제시

일반적으로 상관관계 분석 결과를 논문이나 보고서에 제시하는 경우, 해당 변수들의 기본적인 기술통계량(평균과 표준편차)와 피어슨 상관계수를 함께 제시

 

 

 < 상관관계 분석의 유형 >

  • 단순 상관관계: X와 Y간의 상관관계
  • 다중(Multiple)상관관계: 둘 이상의 변수들이 다른 한 변수와 관계를 갖는 경우
  • 편(Partial)상관관계: 두 변수 관계의 정도를 파악하고자 할 때 제 3의 변수가 두 변수 모두에 영향을 미치고 있는 경우 이를 통제한 다음 분석
  • 부분(Semi_partial)상관관계: 제3의 변수가 어느 한 변수에만 영향을 미치는 경우 이를 통제한 후 분석

 

 

 

반응형

'통계기반 데이터분석' 카테고리의 다른 글

[ R ] 주성분분석 PCA  (0) 2022.11.25
[ R ]상관계수  (0) 2022.11.25
[ R ]카이제곱검정  (0) 2022.11.24
[ R ] 교차분석  (0) 2022.11.24
[ R ] 집단간 차이분석 - 세 집단 검정 #3  (0) 2022.11.23
Comments