상관관계 분석

주울·2022년 12월 8일

데이터분석

목록 보기
4/7

상관관계 분석은 두 변수가 모두 연속형인 경우 사용한다.
모수적 방법으로는 pearson correlation, 비모수적 방법으로는 spearman correlation을 사용한다.

모수적방법(pearson correlation),비모수적방법(spearman correlation)

데이터 살펴보기

require(stats)
View(cars)
dim(cars)

#연속형 변수의 분포 확인
hist(cars$speed)
hist(cars$speed, breaks = seq(0,30,by=1))
hist(cars$dist)
hist(cars$dist, breaks = seq(0,120,by=1))

정규성 보이는지 확인

qqnorm(cars$speed)
qqline(cars$speed)
qqnorm(cars$dist)
qqline(cars$dist)

#정규성 검정. (각 연속형변수 정규성 검정)
shapiro.test(cars$speed) # speed 변수 정규성 띄는지. 0.05보다 큼->정규분포
shapiro.test(cars$dist) # dist 변수 정규성 띄는지.0.05보다 작음->정규분포 아님

산점도 확인

plot(cars) #산점도를 확인할 수 있음. 주의) 상관분석과 회귀분석은 다름. 
plot(dist ~ speed, data = cars) # 처음에 쓰는 것이 y 축!
plot(speed ~ dist, data = cars) #x,y 바뀌어도 양의 상관관계.
lines(cars)
lines(lowess(cars)) # 경향성을 보기 위한 스무스한 라인.

상관분석은 두 개가 독립이다. 따라서 양의상관관계가 있다고 말해야 한다. (speed 증가함에따라 dist가 증가하는것이라고 하면 안된다.)

test of pearson correlation

cor.test(dist~speed, data = cars) #에러
cor.test(+dist~speed, data = cars) #에러
cor.test(~speed+dist, data = cars) #가능
cor.test(~dist+speed, data = cars) #가능
cor.test(cars$speed, cars$dist) #이게 맞음. 위의 두 줄같이 종속관계처럼 표현하면 에러남. 상관관계는 x변화에 따른 y변화를 보는것이 아니기 때문에.

test or spearman correlation(method로 안적어주면 디폴트 pearson)

cor.test(~speed+dist, data=cars, method = "spearman")
cor.test(~dist+speed, data = cars, method="spearman")
cor.test(cars$speed, cars$dist , method="spearman")

0개의 댓글