본문 바로가기
10. 상관분석/상관계수행렬

R 피어슨 상관분석

by makhimh 2019. 12. 2.
반응형

R 피어슨 상관분석

 

 

#1. 방법

 

cor.test(x, y,

         alternative = c("two.sided", "less", "greater"),

         method = c("pearson", "kendall", "spearman"),

         exact = NULL, conf.level = 0.95, continuity = FALSE, ...)

 

스피어만이나 켄달의 타우 검정을 해야한다면 method 옵션을 입력해주면 됩니다. 

 

 

#2. 예제

 

R 내장 데이터 중 trees 데이터를 이용합니다. 먼저 trees 데이터를 살펴봅시다. 

 

> head(trees)

  Girth Height Volume

1   8.3     70   10.3

2   8.6     65   10.3

3   8.8     63   10.2

4  10.5     72   16.4

5  10.7     81   18.8

6  10.8     83   19.7

 

Girth는 둘레고, Height는 높이입니다. 둘의 관계로 상관분석을 해봅시다. 

 

> cor.test(trees$Girth,trees$Height)

 

Pearson's product-moment correlation

 

data:  trees$Girth and trees$Height

t = 3.2722, df = 29, p-value = 0.002758

alternative hypothesis: true correlation is not equal to 0

95 percent confidence interval:

 0.2021327 0.7378538

sample estimates:

      cor 

0.5192801 

 

p값이 유의하게 나옵니다. 상관계수는 0.519입니다. 

 

일반적인 기준은 아래와 같습니다. (절댓값 기준)

 

0.0~0.2 : very weak correlation (or negligible)

0.2~0.4 : weak correlation

0.4~0.6 : moderate correlation

0.6~0.8 : strong correlation

0.8~1.0 : very strong correlation

 

문헌마다 기준이 약간 다릅니다. 어디까지 일반적인 기준이고, 상황마다 판단해주어야 합니다. 예를 들어 암의 원인을 찾는 상황이라고 가정한다면 상관계수 0.1도 유의하게 판단해야 할 것입니다. 

 

산점도를 그려봅시다. 

 

#산점도 그리기, ann을 FALSE로 하여 축이름 표시제거

plot(trees$Girth,trees$Height,ann=FALSE)

#그래프제목, 축이름 설정

title(main="Tree",xlab="Girth",ylab="Height")

#상관분석

mycor=cor.test(trees$Girth,trees$Height)

#그래프에 R값 추가

text(20,65,paste0("R=",round(mycor$estimate,3)))

 

 

산점도를 어떤 구간으로 보여줄지도 잘 판단해야 합니다. 편집을 통해 속임수에 가까운 극적효과를 줄 수 있기 때문입니다. 가장 데이터를 잘 나타낼 수 있는 구간으로 그려주어야 합니다. 

반응형

댓글