본문 바로가기
Study/통계 공부 + R

R 기초: 여러 유형의 상관분석 돌리기

by PhD_Ming 2020. 12. 6.
300x250

 

상관에는 여러 종류가 있다. 자세한 설명은 다음 링크에서 찾고, 여기서는 r돌리는 것에 집중할 예정이다.  daily1123.tistory.com/entry/기초통계-이변량-통계2-변인-유형에-따른-상관-분석

우리는 저번 글에서 corr.test를 사용해서 상관을 돌려보았다. corr.test의 디폴트는 피어슨 상관이므로, 우리는 피어슨 상관을 배웠던 것이다. 만약에 다른 유형의 상관을 돌리려면 어떻게 해야할 지 알아보자. 새로운 데이타 파일을 준비했다. 다음 변인이 포함되어 있음

성별 (gender: 1=남, 2=여), 사교육유무(privateedu: 1=유, 2=무), 가족 수입(famincome: 1=저수입, 2=중간, 3=고수입), 부모 삶의 만족도(parsatisf: 높을 수록 만족감이 높음), 자녀학업효능감(acaefficacy: 높을 수록 효능감이 높음), 자녀 삶의 만족도(stusatisf: 높을 수록 만족감이 높음)

child2.csv
0.07MB
child2.xlsx
0.11MB

 

여태까지 같이 해보았던 데이타클리닝 및 척도 점수 구하기를 통해 다음처럼 데이타를 정리하였음.

1. 양류상관

하나의 연속변수와 하나의 이분 변수의 상관을 구할 때 사용하는 것이 양류상관이다. 수학적으로 피어슨과 동일하기 때문에 같은 corr.test 명령어를 사용하지만, 주의할 점은 이분 변수를 integer 혹은 numeric으로 설정해야 분석이 돌아간다. 저번에 배웠듯 data$var<-as.integer(data$var) 를 통해 성별변수를 integer로 바꾸어준다. 

똑같이 corr.test를 사용해 아동 성별과 아동의 삶의 만족도에 대한 상관을 구해보자. 

corr.test(select(child_data, gender, stusatisf))

다음과 같이 결과값이 나온다. 아동의 성별과 삶의 만족도는 -0.01의 상관이 나왔고, p값이 0.84이므로 둘의 상관은 유의하지 않다. 만약에 유의한 결과가 나왔다고 생각해보자. -0.01이란 상관 계수는 무엇을 의미하는지 해석을 잘 해야한다. 남성이 1, 여성이 2로 코딩되었음을 기억해보자. 연속변수간의 상관의 해석을 생각해보자. A가 증가할수록 B가 증가(정적상관인경우) 혹은 감소(부적상관인경우)를 의미한다. 여기서도 같은 방식으로 적용해보면, 성별이 커질수록 (부적 상관이니까) 삶의 만족감이 낮아진다. 성별이 커질수록은 무엇을 의미하는가? 여성의 값이 2이므로 코딩값이 더 크기 때문에 여성일수록이라고 해석이 가능하다. 즉, 여성의 삶의 만족감이 남성보다 낮음을 의미할 수 있다. 

여기 예시에서는 유의미한 값이 나오지 않아 둘 간의 관계는 없다고 생각해야한다. 

2. 스피어맨, 켄달의 등위 상관

스피어맨과 켄달의 등위 상관은 서열변인간의 상관을 구하게 된다. 이 역시 corr.test 기능을 사용한다. 아래와같이 사용할 수 있으며, methods 안에 pearson, spearman, kendall 을 넣어 어떤 상관을 구하는지 표시해주면 된다. 이 때 pearson이 디폴트라 했으니 피어슨 상관을 구하는 경우 methods 부분은 안적어도 무방하다. 

corr.test(select(data, var1, var2), method=" ")

우리 데이타를 통해 실제 적용해보자. 아동의 학업 효능감과 자기 만족감 간의 관계를 각각 피어슨, 스피어맨, 켄달로 구하기 위해서는 다음 코드를 사용한다. 여기서 연속변수를 넣었는데, 스피어맨과 켄달은 그 연속변수에 대한 서열에 대한 상관을 구하는 것이라 생각하면 된다.

corr.test(select(child_data, acaefficacy, stusatisf), method="pearson")

corr.test(select(child_data, acaefficacy, stusatisf), method="spearman")

corr.test(select(child_data, acaefficacy, stusatisf), method="kendall")

이를 실제로 적용해보면 다음과 같이 결과값이 나온다. 상관은 유의미하게 나왔고, 피어슨(r = 0.44), 스피어맨(r = 0.43), 켄달(r = 0.34) 순으로 상관값이 큰 것을 확인할 수 있다. 이에 대한 자세한 내용은 제일 위의 링크 글로 가면 찾을 수 있다. 

3. 파이 상관계수 (Phi) 및 크래머 브이 계수(Cramer's V) 구하기

파이 및 크래머 계수는 데스크툴 패키지를 다운받아서 사용할 수 있다. 다음을 참고하자. 기억해야할 점은 두 상관 모두 두 명명척도간의 상관을 구하는 것이지만, 파이는 두 변인이 모두 이분변인일 경우 사용하고, 크래머는 적어도 한 변인은 세수준을 가지는 명명척도일 경우 사용한다. 이 둘은 잘 사용하지 않기 때문에 간단히 넘어가도록 하겠다.

반응형

댓글