2012-01-23 5 views
0

일부 클러스터의 중도를 포함하는 행렬을 "unshuffle"하려고합니다.이 행렬의 순서는 순서와 같지 않습니다. 샘플이 클러스터에 할당되었습니다. 처음에는 평균의 데이터 포인트와 클러스터 센터 사이의 거리의 절대 값을 비교하고 가장 작은 거리를 가진 행의 인덱스를 할당했습니다. 물론 중복 인덱스가 허용되지 않습니다. 꽤 잘 작동했지만 대칭 값이 문제가됩니다 (즉, 거리의 절대 값 때문에 미러 클러스터가 제대로 정렬되지 않았습니다). 또한 분산을 기반으로 주문을 시도했지만 예상대로 작동하지 않았습니다. 나는 order()와 sort() 함수를 살펴 보았고, 작동하지 않는 예제를 발견했다. 다른 행렬에서 가장 유사한 행 인덱스를 기반으로 행렬을 정렬합니다.

order(mean)   
order(mean)[centers]  
sort(order(mean)[centers]) 
mean[sort(order(mean)[centers])] 

나는 또한

apply(mean==centers,1,all) 

하지만, 단지 모든 곳에서 FALSE를 반환 물론 시도.

행렬의 샘플 : 예컨대

means <- c(0.055190097, 0.032412395, 0.015372307, -0.008, 
-0.018736792, -0.078138715, -0.058707713, -0.044020629, 
-0.023750329, -0.014402083, -0.069920581, -0.064429216, 
-0.059913345, -0.052302253, -0.047874074, 0.050557395, 
0.047246979, 0.044577065, 0.040384336, 0.038140009, 
0.114954601, 0.108110051, 0.102531680, 0.093341425, 0.088140310) 
dim(means) <- c(5,5) 
means <- t(means) 


centers <- c(-0.038754, -0.021588,-0.008851, 0.008579, 0.016579, 
0.018371, 0.006095, -0.003026, -0.015537, -0.021286, 
-0.078143, -0.069267, -0.062197, -0.051295, -0.045521, 
0.033145, 0.033348, 0.033354, 0.032947, 0.032511, 
0.115464, 0.105248, 0.097172, 0.084732, 0.078162) 
dim(centers) <- c(5,5) 
centers <- t(centers) 

(위의 예와 함께)는 에서 라인 2 행렬은에 가까운 것처럼 중심으로부터 매트릭스를 3 행으로 대응 수단 거리 (데이터 포인트 현명). 그래서, 에서 어느 행이이 어떤 행에 센터 (중복 없음)에 해당하는지 알 필요가 있습니다. 매트릭스가 더 크지 만 예제로 충분해야합니다. 제안 사항이 있습니까? 고마워요

+1

약간의 샘플 데이터가 도움이 될 것입니다. 또한 http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example –

+0

샘플 코드를 쉽게 복사하여 붙여 넣을 수 있도록 편집했습니다. mat.or.vec() 사용. 벡터로 만든 행렬을 단순히 덮어 쓰면 실제로 도움이되지 않습니다. 출력이 생각한 것인지 확인하십시오. –

+0

나는 아직도 당신이하려고하는 것을 이해하려고 노력하고 있습니다. 명확히해야하거나, 아무도 당신을 도울 수 없을 것입니다. 입력에 따라 어떤 결과가 기대되는지, 그리고 그 산출물 뒤에있는 추론은 무엇인지 확인하는 것은 흥미로울 것입니다. 그것은 우리에게 일할 무언가를 줄 것입니다. –

답변

-1

글쎄, 나는 직업을 수행하는 내장 함수를 찾지 못했습니다. 그래서 저는 R 프로그래밍 방식이 아니더라도 작업을 처리하는 재귀 알고리즘을 구현했습니다. 최소한 문제를 해결합니다. 이 특별한 경우에 꽤 고약한 문제가 추가 될 수도 있지만 지금은 효과가 있습니다. 이 질문에 관심을 보인 모든 사람들에게 감사드립니다.

관련 문제