갈루아의 반서재

cor(x, y) : 상관관계 계산

 

cor(x, use=, method= ) 

[인수]

1) x : 행렬 또는 데이터프레임

2) use : 결측값(missing data)를 다루는 방법. 

 (1) all.obs : 결측값이 없다고 가정하는 경우로, 결측값이 존재하면 에러를 발생시킨다.

 (2) complete.obs (listwise deletion) : 결측값을 사례별로 지우기. 결측값이 하나라도 있는 경우에 그 case 모두를 지운다.

 (3) pairwise.complete.obs (pairwise deletion) : 한쌍 목록 삭제.

3) method : 상관관계의 유형 (pearson, spearman, kendall)

 (1) pearson : X 와 Y 가 완전히 동일하면 +1, 전혀 다르면 0, 반대방향으로 완전히 동일하면 –1 의 값을 가짐

 (2) spearman : 데이터가 서열척도인 경우 즉 자료의 값 대신 순위를 이용하는 경우의 상관계수로서, 데이터를 작은 것부터 차례로 순위를 매겨 서열 순서로 바꾼 뒤 순위를 이용해 상관계수를 구함

 (3) kendall : 일련의 등위에 있어서 그 순서가 얼마나 일관성이 있는가에 초점을 맞춤



[예제]
> df <- structure(list(V1 = c(56, 123, 546, 26, 62, 6, NA, NA, NA, 15
+ ), V2 = c(21, 231, 5, 5, 32, NA, 1, 231, 5, 200), V3 = c(NA, 
+                                                          NA, 24, 51, 53, 231, NA, 153, 6, 700), V4 = c(2, 10, NA, 20, 
+                                                                                                        56, 1, 1, 53, 40, 5000)), .Names = c("V1", "V2", "V3", "V4"), row.names = c(NA, 
+                                                                                                                                                                                    10L), class = "data.frame")

> df
    V1  V2  V3   V4
1   56  21  NA    2
2  123 231  NA   10
3  546   5  24   NA
4   26   5  51   20
5   62  32  53   56
6    6  NA 231    1
7   NA   1  NA    1
8   NA 231 153   53
9   NA   5   6   40
10  15 200 700 5000

> cor(df, use="pairwise.complete.obs", method="pearson") 
           V1         V2         V3         V4
V1  1.0000000 -0.2902929 -0.4108040 -0.3753177
V2 -0.2902929  1.0000000  0.6964304  0.4092076
V3 -0.4108040  0.6964304  1.0000000  0.9471033
V4 -0.3753177  0.4092076  0.9471033  1.0000000
> cor(df, use="complete.obs", method="pearson") 
           V1         V2         V3         V4
V1  1.0000000 -0.5819416 -0.6791220 -0.6764676
V2 -0.5819416  1.0000000  0.9921413  0.9925865
V3 -0.6791220  0.9921413  1.0000000  0.9999935
V4 -0.6764676  0.9925865  0.9999935  1.0000000