2013-07-16 6 views
1

프레임! 내 경우에는 0 "정보 아니기 때문에상관 관계 계산

Col1  Col2 Col3  
0  3  25  
45  0  0 
0  0  12 

난 단지 두 가지 요소가있는 경우 = 0에서 요소들 사이의 상관 관계 지수를 계산하고 싶습니다 항목 "이므로 예 : 3은 유익한 것으로 0은 유익하지 않음을 계산하기 위해 사이의 상관 관계를 계산하는 것은 의미가 없습니다. 0 요소가 포함 된 열을 제거 할 수 없습니다. data.frame에서 0 요소가 희소하기 때문입니다.

아무도 도와 줄 수 있습니까?

답변

3

use = "pairwise.complete.obs"cor에 당신을 위해 무엇을 찾고있는 중 절반 : 다음 값 "pairwise.complete.obs"상관 관계 또는 변수의 각 쌍 사이 공분산을 가지고

use 경우 모든 사용하여 계산한다 해당 변수에 대한 완전한 관찰 쌍. 마지막으로

data <- data.frame(x = c(1, 0, -1, 0, 1), 
       y = c(-1, 0, 1, -1, 0), 
       z = c(0, 0, 1, -1, -1)) 
data 
# x y z 
# 1 1 -1 0 
# 2 0 0 0 
# 3 -1 1 1 
# 4 0 -1 -1 
# 5 1 0 -1 

tempData <- data 
tempData[tempData == 0] <- NA 
tempData 
# x y z 
# 1 1 -1 NA 
# 2 NA NA NA 
# 3 -1 1 1 
# 4 NA -1 -1 
# 5 1 NA -1 

:

cor(tempData, use = "pairwise.complete.obs") 
# x y z 
# x 1 -1 -1 
# y -1 1 1 
# z -1 1 1 

그러나, 대신 제로의 NA 값을, 그래서 우리는 먼저 우리의 데이터 변환 수 있도록해야합니다