반응형
1. 상관분석의 개념
* 정의
1) 상관분석: 두 변수 간에 관계가 있는지를 알아보고자 할 때 실시하는 분석방법
2) 상관관계: 두 변수(대상)이 서로 관련성이 있다고 추측되는 단계
=> 한 쪽이 증가하면 다른 쪽도 증가(혹은 감소)하는 경향이 있을 때, '상관관계가 있다'라고 함.
3) 상관계수: 상관분석에서 두 변수의 관련된 정도를 나타내주는 값(표기법: 알파벳 'r'(Correlation))
=> 변수들 간의 상관도가 높아질 수록, 상관계수 값이 커짐
2. 상관분석의 특징
* 연구 예시
- 양의 상관관계: 지능지수와 성적, 키와 몸무게
- 음의 상관관계: 농작물 생산량과 가격, 고도와 기온
- 무의 상관관계: 스마트폰 이용 시간과 성적, 범죄율과 아이스크림 판매량
* 상관계수의 값: -1 <= r <= 1
- 0.0 ~ 0.1: 거의 관계없음
- 0.1 ~ 0.2: 약한 양의 상관관계
- 0.2 ~ 0.4: 보통 양의 상관관계
- 0.4 ~ 0.6: 비교적 강한 양의 상관관계
- 0.6 ~ 0.8: 강한 양의 상관관계
- 0.8 ~ 1.0: 매우 강한 양의 상관관계
* 양의 상관관계: 한 쪽이 증가하면 다른 쪽도 증가하는 관계
* 음의 상관관계: 한 쪽이 증가하면 다른 쪽은 감소하는 관계
* 무의 상관관계: 관계가 없음
1. 상관분석 그래프를 구현하기 위해 'corrplot'와 'lattice' 패키지를 설치 및 import
install.packages("corrplot")
library(corrplot)
install.packages("lattice")
library(lattice)
2. 상관분석을 위한 데이터 셋('mtcars')를 불러들임(내장된 데이터)
a = mtcars
3. 변수 중 gear와 carb의 상관계수를 산출함
mcor2 = cor(mtcars$gear, mtcars$carb)
print(mcor2)
# 0.2740 -> 상관관계가 아주 약함
4. 상관정도를 시각화(산점도)
xyplot(gear~carb, data = mtcars)
# lm: linear model
lm = plot(mtcars$gear, mtcars$carb)
abline(lm(mtcars$gear~mtcars$carb))
5. mtcars 데이터 전체 상관분석
mcor = cor(mtcars)
round(mcor, 2)
6. 상관계수를 도표로 시각화
corrplot(mcor)
7. 다른 라이브러리를 활용해 시각화(ggplot2)
* ggplot2: 데이터 기반으로 기하학적 객체들(점, 선, 막대 등) 미적 특성(색상, 모양, 크기)를 매핑하여 적용하는 시각화 패키지
# 'ggplot2' 활용 시각화
library(ggplot2)
qplot(gear, carb, data=mtcars)
* wt와 mpg의 상관관계
cor(mtcars$wt, mtcars$mpg)
# [1] -0.8676594
qplot(wt, mpg, data = mtcars, color = factor(carb))
반응형
'프로그래밍' 카테고리의 다른 글
[R] R을 이용한 분산분석 (0) | 2021.05.23 |
---|---|
[R] R을 이용한 회귀분석 (0) | 2021.05.17 |
[Python] Machine Learning(Linear Regression, PCA, KNN, SVM, Kmeans) (0) | 2021.05.16 |
[Python] Matplotlib 활용(3) (0) | 2021.05.13 |
[Python] Matplotlib 활용(2) (0) | 2021.05.10 |