반응형
상관 분석
상관 분석은 두 변수 X와 Y 간의 선형성의 정도를 측정하는 통계량을 뜻합니다. 아래 그림과 같이 정의됩니다.
r 지수
일반적으로 -1 <= r <= 1 범위를 가집니다. 양수일 때는 양의 상관관계를 가집니다. 반대로 음수일 때는 음의 상관관계를 가집니다. 1이나 -1에 근접할수록 상관성이 높습니다. 아래 예시를 참고하세요.
r의 값에 따라 그래프 상관 관계가 보이시나요?
음주 정도와 혈중 알코올 농도의 상관도 분석
beers = c(5,2,9,8,3,7,3,5,3,5) # 맥주를 먹은 잔 수
bal = c(0.1,0.03,0.19,0.12,0.04,0.0095,0.07,0.06,0.02,0.05) # 혈중 알코올 농도의 값
tbl = data.frame(cbind(beers,bal)) # 데이터 프레임 선언
tbl; class(tbl) # 클래스 선언
plot(bal~beers,data=tbl) # 산점도
res=lm(bal~beers,data=tbl) # 회귀식 도출
abline(res) # 회귀선그리기
cor(beers,bal) # 상관성 분석 시행
상관도를 통해 맥주를 많이 먹으면 혈중 알코올 농도가 올라가는 결론을 얻을 수 있습니다.
tbl = data.frame(cbind(beers,bal))
data.frame
- 데이터를 테이블 형태로 관리합니다.
cbind()
- 두 벡터를 컬럼(열) 방향으로 합친다
rbind()
- 두 벡터를 행 방향으로 합친다)
plot(bal~beers,data=tbl)
두 벡터 데이터를 가지고 산점도를 그립니다. plot(tbl), plot(tbl[,1],tbl[,2]) 도 동일한 결과 도출됩니다.
res=lm(bal~beers,data=tbl)
산점도를 가장 잘 표현할 수 있는 선형 모델(회귀식)을 구합니다.
abline(res) # 선그리기
위에서 구한 선형모델을 활용합니다. 값을 통해 산점도 위에 선을 그립니다.
cor(beers,bal) # 상관성 분석 시행
두 벡터자료를 파라미터로 넣어줍니다. 두 벡터값에 따라 상관계수를 계산합니다.
여러 변수들간의 상관 계수를 동시에 구하는 방법
cor(iris[,1:4]) # 4개 변수간 상관성 분석
# Sepal.Length Sepal.Width Petal.Length
# Sepal.Length 1.0000000 -0.1175698 0.8717538
# Sepal.Width -0.1175698 1.0000000 -0.4284401
# Petal.Length 0.8717538 -0.4284401 1.0000000
# Petal.Width 0.8179411 -0.3661259 0.9628654
# Petal.Width
# Sepal.Length 0.8179411
# Sepal.Width -0.3661259
# Petal.Length 0.9628654
# Petal.Width 1.0000000
위 값을 통해 변수간의 상관계수를 알 수 있습니다.
반응형
'SW > R' 카테고리의 다른 글
R : 데이터 분석 사례 (개념 및 예제) (0) | 2019.02.15 |
---|---|
R : 선그래프 (개념 및 예제) (0) | 2019.02.14 |
R : 산점도 (개념 및 예제) (0) | 2019.02.12 |
R : 문자열 함수 (개념 및 예제) (0) | 2019.02.11 |
R : 일변량 양적 자료의 분석 (개념 및 예제) (0) | 2019.02.10 |