canberra distance - inconsistent results과 비슷하게 필자는 거리 계산을 직접 작성했지만 훨씬 더 많은 데이터 집합에 대해이 작업을 수행하고 결과에서 거리 행렬을 작성하려고합니다.캔버라 거리 매트릭스 수동 계산
내 초기 기능은 내 데이터 프레임의 행의 모든 쌍에이 기능을 적용하고이 계산으로부터의 거리 행렬을 작성하고 싶습니다 지금
canb.dist <- function(x, j) sum((abs(x-j))/(abs(x)+abs(j)))
입니다. 의 내 데이터가 있다고 가정 해 봅시다 :이 다음 부분에 어려움을 겪고있어
data<-data.frame(replicate(500,sample(1:100,50,rep=TRUE)))
, 어떻게 행의 모든 쌍에이를 적용하고 본질적으로 모방
dist(data,method="canberra")
나는했습니다 매트릭스를 작성의 시도 :
for (y in 1:50)
{
for (z in 2:50)
{
canb.dist(data[y,1:500],data[z,1:500])
}
}
하지만 분명하지 않습니다. 모든 쌍을 통과하여 거리 매트릭스를 수동으로 복제하는 방법이 있습니까?
스파 스
Matrix
패키지를 사용하여 매트릭스에 인덱스와 값을 변환합니다. 나는 그것이 잘되기 위해 해결되는만큼 복잡 할 것이라고 생각하지 않고 있었지만, 대단히 감사합니다! – coderX