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)))
산점도를 어떤 구간으로 보여줄지도 잘 판단해야 합니다. 편집을 통해 속임수에 가까운 극적효과를 줄 수 있기 때문입니다. 가장 데이터를 잘 나타낼 수 있는 구간으로 그려주어야 합니다.
'10. 상관분석 > 상관계수행렬' 카테고리의 다른 글
[R] 상관계수행렬 그리는 법 (psych 패키지 이용) - 이게 젤 나음 (0) | 2023.08.24 |
---|---|
[R] 상관계수행렬 그리는 법 (ggpairs 이용, 색구분) (0) | 2023.01.06 |
[R] 상관계수행렬 그리는 법 (ggpairs 이용) (0) | 2022.12.26 |
[R] 상관계수행렬 그리는 법 (corrplot 패키지 이용) (0) | 2021.06.14 |
[R] 상관계수행렬 그리는 법 (pairs 함수 이용) (0) | 2021.06.14 |
댓글