상관분석 (Correlation analysis) #
상관분석 #
상관분석이란 #
- 둘 이상의 수치 변수(numerical variables)간에 어떤 선형적 관계를 갖는지 연관성을 분석하는 방법이다. 참고로 두 변수간의 인과관계를 설명하는 경우에는 회귀분석을 통해 방향, 정도, 수학적 모델을 확인할 수 있다.
- 상관관계는 -1 부터 1 까지 표현되며, 0<ρ≤+1 이면 양의 상관, -1≤ρ<0 이면 음의 상관, ρ=0이면 무상관이라고 한다. 하지만 0인 경우 상관이 없다는 것이 아니라 선형의 상관관계가 아니라는 것이다.
- 상관계수는 피어슨과 스피어만 상관계수로 크게 나눌 수 있으며, 서열척도 데이터인 경우에는 스피어만 방법을 사용하게 된다.
- 스피어만 상관계수는 일반적으로 아래와 같이 해석한다.
- r이 -1.0과 -0.7 사이이면, 강한 음적 선형관계,
- r이 -0.7과 -0.3 사이이면, 뚜렷한 음적 선형관계,
- r이 -0.3과 -0.1 사이이면, 약한 음적 선형관계,
- r이 -0.1과 +0.1 사이이면, 거의 무시될 수 있는 선형관계,
- r이 +0.1과 +0.3 사이이면, 약한 양적 선형관계,
- r이 +0.3과 +0.7 사이이면, 뚜렷한 양적 선형관계,
- r이 +0.7과 +1.0 사이이면, 강한 양적 선형관계
R문법 #
- 공분산, covariance:
- 두 확률변수간 관계, 확률변수 X가 변할때 Y가 변하는 정도
- cov(변수1, 변수2)
- 상관계수, correlation coefficient: 같은 1 값이라도 단위(km, mile등)에 따라 크기가 달라지는 공분산에 대한 표준화(정규화) 수치
- cor(변수1, 변수2)
- cor(x, use=, method=) # x=(메트릭스|데이터프레임), use=미싱 데이터 처리 옵션, method=(pearson|spearman|kendall)
코드 #
- 상관계수:
- cor(exp, met, use="complete.obs", method="pearson") # 결측값 제거
- all <- cor(dat[1:3], use="complete.obs", method="pearson")
- library(corrplot)
- corrplot(all)

이미지 출처: stackoverflow.com
인풋 #
발현, 메틸화, 히스톤 간의 상관분석
met hst exp
114.64826 87 47
27.01410 87 65
63.30098 85 61
...
45.17740 95 71
27.08838 83 54
38.40876 86 62
참고 #
- R을 이용한 누구나 하는 통계분석. 안재형 지음 | 한나래 | 2016년 03월 25일 출간 (1쇄 2011년 01월 15일)
- 위키: https://ko.wikipedia.org/wiki/상관분석