R에서 공분산 행렬을 만드는 방법


공분산은 한 변수의 변화가 두 번째 변수의 변화와 어떻게 연관되어 있는지를 측정한 것입니다. 보다 구체적으로 말하면 두 변수가 선형적으로 연관되는 정도를 측정하는 것입니다.

공분산 행렬은 다양한 변수 간의 공분산을 나타내는 정사각 행렬입니다. 이는 데이터 세트에서 다양한 변수가 어떻게 관련되어 있는지 이해하는 데 유용한 방법이 될 수 있습니다.

다음 예에서는 R에서 공분산 행렬을 만드는 방법을 보여줍니다.

R에서 공분산 행렬을 만드는 방법

R에서 공분산 행렬을 만들려면 다음 단계를 따르세요.

1단계: 데이터 프레임을 생성합니다.

먼저 수학, 과학, 역사의 세 가지 과목에서 10명의 학생의 시험 점수가 포함된 데이터 프레임을 만듭니다.

 #create data frame
data <- data.frame(math = c(84, 82, 81, 89, 73, 94, 92, 70, 88, 95),
                   science = c(85, 82, 72, 77, 75, 89, 95, 84, 77, 94),
                   history = c(97, 94, 93, 95, 88, 82, 78, 84, 69, 78))

#view data frame
data

   math science history
1 84 85 97
2 82 82 94
3 81 72 93
4 89 77 95
5 73 75 88
6 94 89 82
7 92 95 78
8 70 84 84
9 88 77 69
10 95 94 78

2단계: 공분산 행렬을 만듭니다.

다음으로 cov() 함수를 사용하여 이 데이터세트에 대한 공분산 행렬을 만듭니다.

 #create covariance matrix
cov(data)

             math science history
math 72.17778 36.88889 -27.15556
science 36.88889 62.66667 -26.77778
history -27.15556 -26.77778 83.95556

3단계: 공분산 행렬을 해석합니다.

행렬의 대각선에 있는 값은 단순히 각 개체의 분산입니다. 예를 들어:

  • 수학 점수의 분산은 72.18입니다.
  • 과학 점수의 분산은 62.67입니다.
  • 과거 점수 차이는 83.96입니다.

행렬의 다른 값은 서로 다른 대상 간의 공분산을 나타냅니다. 예를 들어:

  • 수학과 과학 점수의 공분산은 36.89입니다.
  • 수학과 역사 점수 사이의 공분산은 -27.16입니다.
  • 과학 점수와 역사 점수 사이의 공분산은 -26.78입니다.

공분산의 양수는 두 변수가 동시에 증가하거나 감소하는 경향이 있음을 나타냅니다. 예를 들어, 수학과 과학은 양의 공분산(36.89)을 가지며, 이는 수학에서 높은 점수를 받은 학생이 과학에서도 높은 점수를 받는 경향이 있음을 나타냅니다. 반대로 수학 성적이 좋지 않은 학생은 과학 성적도 좋지 않은 경향이 있습니다.

공분산의 음수는 한 변수가 증가하면 두 번째 변수가 감소하는 경향이 있음을 나타냅니다. 예를 들어, 수학과 역사는 음의 공분산(-27.16)을 가지며, 이는 수학 성적이 높은 학생이 역사 성적이 낮은 경향이 있음을 나타냅니다. 반대로, 수학에서 낮은 점수를 받은 학생들은 역사에서 높은 점수를 받는 경향이 있습니다.

여기에서 더 많은 R 튜토리얼을 찾을 수 있습니다.

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다