R에서 상관계수를 계산하기 위해 cor()를 사용하는 방법
R의 cor() 함수를 사용하여 변수 간의 상관 계수를 계산할 수 있습니다.
이 기능을 사용하는 가장 일반적인 방법은 다음과 같습니다.
방법 1: 두 변수 간의 Pearson 상관 계수 계산
cor(df$x, df$y)
두 연속형 변수 간의 상관관계를 계산할 때 Pearson 상관계수를 사용합니다. (예: 키와 몸무게)
방법 2: 데이터 프레임의 모든 숫자 변수 간의 Pearson 상관 계수를 계산합니다.
cor(df)
이 방법은 데이터 프레임에 있는 숫자 변수의 각 쌍별 조합 간의 피어슨 상관 계수를 포함하는 상관 행렬을 반환합니다.
방법 3: 두 변수 간의 Spearman 상관 계수 계산
cor(df$x, df$y, method=' spearman ')
두 순위 변수 간의 상관 관계를 계산할 때 Spearman의 상관 계수를 사용합니다. (예: 학생의 수학 시험 점수 순위와 수업 내 과학 시험 점수 순위)
방법 4: 두 변수 간의 Kendall 상관 계수 계산
cor(df$x, df$y, method=' kendall ')
Spearman의 상관관계를 사용하고 싶지만 표본 크기가 작고 동률이 많은 경우 Kendall의 상관계수를 사용하십시오.
다음 예에서는 8명의 학생에 대한 공부에 소비한 시간, 치른 연습 시험 횟수 및 최종 시험 성적을 보여주는 R의 다음 데이터 프레임을 사용하여 실제로 각 방법을 사용하는 방법을 보여줍니다.
#create data frame
df <- data. frame (hours=c(1, 1, 3, 2, 4, 3, 5, 6),
prac_exams=c(4, 3, 3, 2, 3, 2, 1, 4),
score=c(69, 74, 74, 70, 89, 85, 99, 90))
#view data frame
df
hours prac_exams score
1 1 4 69
2 1 3 74
3 3 3 74
4 2 2 70
5 4 3 89
6 3 2 85
7 5 1 99
8 6 4 90
예 1: 두 변수 간의 Pearson 상관 계수 계산
다음 코드는 cor() 함수를 사용하여 시간 과 점수 변수 간의 Pearson 상관 계수를 계산하는 방법을 보여줍니다.
#calculate Pearson correlation coefficient between hours and score
cor(df$hours, df$score)
[1] 0.8600528
근무시간 과 점수 사이의 피어슨 상관계수는 0.86인 것으로 나타났습니다.
데이터 프레임에 NA 값이 있는 경우 use=’complete.obs’ 인수를 사용하여 NA 값이 없는 행만 사용할 수 있습니다.
#calculate Pearson correlation coefficient and ignore any rows with NA cor(df$hours, df$score, use=' complete.obs ')
예 2: 모든 수치 변수 간의 Pearson 상관 계수 계산
다음 코드는 cor() 함수를 사용하여 데이터 프레임의 모든 숫자 변수 간의 Pearson 상관 계수가 포함된 상관 행렬을 만드는 방법을 보여줍니다.
#calculate Pearson correlation coefficient between all numeric variables
cor(df)
hours prac_exams score
hours 1.0000000 -0.1336063 0.8600528
prac_exams -0.1336063 1.0000000 -0.3951028
score 0.8600528 -0.3951028 1.0000000
결과를 해석하는 방법은 다음과 같습니다.
- 시간 과 prac_exams 간의 피어슨 상관 계수는 -0.13 입니다.
- 근무 시간 과 점수 사이의 Pearson 상관 계수는 0.86 입니다.
- prac_exams 와 점수 사이의 피어슨 상관 계수는 -0.39 입니다.
참고 : 각 개별 변수와 그 자체 사이의 피어슨 상관 계수는 항상 1이므로 상관 행렬의 대각선을 따라 각 값이 1입니다.
예 3: 두 변수 간의 Spearman 상관 계수 계산
다음 코드는 cor() 함수를 사용하여 hour 와 prac_exams 변수 사이의 Spearman 상관 계수를 계산하는 방법을 보여줍니다.
#calculate Spearman correlation coefficient between hours and prac_exams cor(df$hours, df$prac_exams, method=' spearman ') [1] -0.1250391
시간 과 prac_exams 간의 Spearman 상관 계수는 -0.125로 나타났습니다.
예 4: 두 변수 간의 Kendall 상관 계수 계산
다음 코드는 cor() 함수를 사용하여 hour 와 prac_exams 변수 사이의 Kendall 상관 계수를 계산하는 방법을 보여줍니다.
#calculate Kendall's correlation coefficient between hours and prac_exams cor(df$hours, df$prac_exams, method=' kendall ') [1] -0.1226791
시간 과 prac_exams 사이의 Kendall의 상관 계수는 -0.123으로 나타났습니다.
추가 리소스
다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
R에서 슬라이딩 상관관계를 계산하는 방법
R에서 자기상관을 계산하는 방법
R에서 부분 상관 관계를 계산하는 방법