Recent Posts
Stats & AI tech blog - '일단 시도함'
[R] CCA, Canonical Correlation Analysis (정준상관분석) 본문
CCA에 대한 개념 설명은 이전 포스팅 참고하면 된다.
이번 포스팅에서는 "종속변수 y집합"과 "독립변수 x 집합"간의 상관 관계를 확인할 때 사용하는 정준상관분석(CCA)를
R에서 수행하는 방법에 대해 설명한다.
예제)
- 분석 목적 : "학업성취 변수군"과 "학업태도 변수"군 사이의 상관 관계를 확인하고자 한다.
- 데이터 설명
- 종속 변수 y 집합 : 학업 성취 (국어 점수, 수학 점수, 영어점수 등)
- 독립 변수 x 집합 : 학업 태도 (공부시간, 집중력, 수업 참여도 등)
국어 | 수학 | 영어 | 과학 | 역사 | 공부시간 | 집중도 | 과제수행 | 수업태도 |
80 | 60 | 90 | 70 | 80 | 2 | 9 | 8 | 80 |
60 | 50 | 60 | 80 | 70 | 2.5 | 7 | 8 | 60 |
70 | 80 | 80 | 60 | 90 | 1 | 7 | 5 | 70 |
- R code
# 1. sperate x, y groups
y <- data[,c(1:5)]
x <- data[,c(6:9)]
# 2. scale data
y <- scale(y, scale = T)
x <- scale(x, scale = T)
# 3. CCA
# {CCA} cc() function
cc.subject <- cc(x, y)
cc.subject
plt.cc(cc.subject, type = 'b', var.label = T)
- 분석 결과
- $cor : 정준상관계수 : 1차 정준상관계수가 0.88로 두 선형 결합 간 상관이 높은 것을 확인할 수 있다.
$cor
[1] 0.8834332 0.4040608 0.2332060 0.1777027
- $xcoef, $ycoef : 선형결합계수행렬
$xcoef
[,1] [,2] [,3] [,4]
study_time -0.18908114 0.02820381 -1.00301895 -0.117663673
concentration 0.03599579 -0.21717484 -0.02795791 1.002498591
assignment -0.92961507 -0.53039911 -0.06078722 0.002215844
attitude -0.22654993 1.03772870 0.10249923 0.019631941
$ycoef
[,1] [,2] [,3] [,4]
english 1.1584937 1.6785490 -0.2129507 -2.49433448
korean -3.1378052 2.4999546 -1.0765159 1.17837317
math 3.6276099 -1.0399769 -0.2330914 1.02088516
science 0.2070512 -1.9876677 -4.5292201 -3.86621556
history -1.3091399 -0.4481416 5.7556986 -0.08420116
'Programming > R' 카테고리의 다른 글
[R] Cohen's Kappa (카파상관계수) (0) | 2024.01.12 |
---|---|
[R] Scatter plot with Regression lines (ggplot2) (0) | 2024.01.10 |
[R] Logistic Regression Probability Curve (0) | 2023.12.24 |
[R] Diagnostic Test (진단 테스트) (2) 진단 도구 간 성능 비교 (0) | 2023.12.12 |
[R] Diagnostic Test (진단 테스트) : Sensitivity, Specificity, Accuracy (민감도, 특이도, 정확도) (0) | 2023.12.08 |