R에서 다항성 상관관계를 계산하는 방법
순서형 변수 사이의 상관관계를 계산하기 위해 다항상관(Polychoric Correlation)이 사용됩니다.
순서형 변수는 가능한 값이 범주형이고 자연 순서를 갖는 변수라는 점을 기억하세요.
다음은 순서 척도로 측정된 변수의 몇 가지 예입니다.
- 만족 : 매우 불만족, 불만족, 보통, 만족, 매우 만족
- 소득수준 : 저소득, 중소득, 고소득
- 근무지 현황 : Entry Analyst, Analyst I, Analyst II, Senior Analyst
- 통증 정도 : 낮은 정도, 중간 정도, 높은 정도
다항성 상관의 값은 -1에서 1까지 다양합니다. 여기서:
- -1은 완벽한 음의 상관관계를 나타냅니다.
- 0은 상관관계가 없음을 나타냅니다.
- 1은 완벽한 양의 상관관계를 나타냅니다.
우리는 R에서 두 순서형 변수 사이의 다항성 상관관계를 계산하기 위해 polycor 패키지의 polychor(x, y) 함수를 사용할 수 있습니다.
다음 예에서는 이 기능을 실제로 사용하는 방법을 보여줍니다.
예 1: 영화 평점에 대한 다성 상관관계 계산
서로 다른 두 영화 평가 기관의 영화 평가 간에 높은 상관 관계가 있는지 알고 싶다고 가정해 보겠습니다.
우리는 각 기관에 20개의 서로 다른 영화를 1~3의 등급으로 평가하도록 요청합니다.
- 1은 “나쁨”을 나타냅니다.
- 2는 “나쁨”을 나타냅니다.
- 3은 “좋음”을 나타냅니다.
R에서 다음 코드를 사용하여 두 기관의 등급 간의 다항적 상관관계를 계산할 수 있습니다.
library (polycor) #define movie ratings for each agency agency1 <- c(1, 1, 2, 2, 3, 2, 2, 3, 2, 3, 3, 2, 1, 2, 2, 1, 1, 1, 2, 2) agency2 <- c(1, 1, 2, 1, 3, 3, 3, 2, 2, 3, 3, 3, 2, 2, 2, 1, 2, 1, 3, 3) #calculate polychoric correlation between ratings polychor(agency1, agency2) [1] 0.7828328
다항성 상관관계는 0.78 로 나타났습니다.
이 값은 상당히 높은 것으로, 각 기관의 등급 간에 강한 긍정적인 연관성이 있음을 나타냅니다.
예 2: 레스토랑 리뷰에 대한 다향성 상관관계 계산
두 개의 서로 다른 동네 레스토랑이 해당 레스토랑의 고객 평가 간에 상관 관계가 있는지 알고 싶다고 가정해 보겠습니다.
우리는 두 레스토랑에서 식사를 한 고객 20명을 무작위로 설문조사하고 전반적인 만족도를 1~5점 척도로 평가하도록 요청했습니다.
- 1은 “매우 불만족”을 나타냅니다.
- 2는 ‘불만족’을 나타냅니다.
- 3은 “중립”을 나타냅니다.
- 4는 ‘만족’을 나타냅니다.
- 5는 “매우 만족”을 나타냅니다.
R에서 다음 코드를 사용하여 두 레스토랑의 평점 사이의 다항적 상관관계를 계산할 수 있습니다.
library (polycor) #define ratings for each restaurant restaurant1 <- c(1, 1, 2, 2, 2, 3, 3, 3, 2, 2, 3, 4, 4, 5, 5, 4, 3, 4, 5, 5) restaurant2 <- c(4, 3, 3, 4, 3, 3, 4, 5, 4, 4, 4, 5, 5, 4, 2, 1, 1, 2, 1, 4) #calculate polychoric correlation between ratings polychor(restaurant1, restaurant2) [1] -0.1322774
다항성 상관관계는 -0.13 으로 나타났습니다.
이 값은 0에 가깝습니다. 이는 레스토랑 평가 간에 연관성이 거의 없음을 나타냅니다.
추가 리소스
다음 튜토리얼에서는 R에서 다른 일반적인 상관 계수를 계산하는 방법을 설명합니다.
R에서 Spearman 순위 상관 관계를 계산하는 방법
R에서 점-이중 상관 관계를 계산하는 방법
R에서 교차 상관을 계산하는 방법
R에서 슬라이딩 상관관계를 계산하는 방법
R에서 부분 상관 관계를 계산하는 방법