2015-01-01 2 views
0

2 차원 점 (x, y 좌표)이 두 세트 있습니다. 이 두 세트의 점을 동일한 참조 점 (중심점)에 정렬하려면 어떻게해야합니까?두 점 집합을 동일한 참조 점, 중심에 정렬

내 두 세트

이다 a가

x  y 
1  3 
4  2 
7  8 
3  5 

B 중심으로

x  y 
9  5 
14 7 
17 3 
30 25 

내 말은 : 그것은 모든 좌표 방향에있는 모든 점의 평균 위치입니다.

어느 한 미리 R.

감사를 사용하여 작업을 수행하는 방법을 나에게 제안 해주십시오 없습니다.

나중에 추가 : 클러스터의

data1<-data.frame(x=c(1,4,7,3), y=c(3,2,8,5)) 
data2<-data.frame(x=c(9,14,17,30), y=c(5,7,3,25)) 

무게 중심은 다음과 같습니다

m1=c(mean(data1[,1]),mean(data1[,2])) 
m2=c(mean(data2[,1]),mean(data2[,2])) 

가 지금은 (coinside를) 정렬 m1m2와 관련하여 모든 클러스터 포인트를 획득 할 일반적인 정렬 중심. 어떻게하는지.

미리 감사드립니다.

+0

저는 제 1 클러스터의 모든 점에서 m1을 뺀 다음 두 번째 클러스터의 모든 점에서 m2를 뺍니다.이제 centroid는 (0,0)이되고 다른 모든 점은 common centroid (0,0)에 대해 정렬됩니다. – Janak

답변

1

비트 후반 등 생물학, chemometrics, 경우에 따라 R의 클러스터링 천 언급이있다 : 코드 이상이 추가 , 하지만 :

  • 출처를 정렬에 대한 기술적 용어는을 중심으로 입니다. 당신의 그룹이 다른 변수에있는 경우

  • , 당신은 scale 사용할 수 있습니다 그룹이 동일한 데이터 프레임 내에있는 경우

    data1<-data.frame(x=c(1,4,7,3), y=c(3,2,8,5)) 
    data2<-data.frame(x=c(9,14,17,30), y=c(5,7,3,25)) 
    
    scale (data1, center = TRUE, scale = FALSE) 
    scale (data2, center = TRUE, scale = FALSE) 
    
  • , ave가 도움이 될 수 있습니다 (또한 aggregate 참조 :

    data1$group <- "A"   
    data2$group <- "B" 
    data <- rbind (data1, data2) 
    
    data$x <- data$x - ave (data$x, data$group) 
    data$y <- data$y - ave (data$y, data$group) 
    
-1

일반적으로 kmeans를 사용하여 이와 같은 작업을 수행합니다.

#Two datasets 
data1<-data.frame(x=c(1,4,7,3), y=c(3,2,8,5)) 
data2<-data.frame(x=c(9,14,17,30), y=c(5,7,3,25)) 

#combine datasets into one data frame 
comb.data<-rbind(data1,data2) 

#find the center of the data by assuming there is only one 
fit<-kmeans(comb.data, centers=1) 

#print out coordinates of center: 
fit$centers 

당신은 또한 사용하여 클러스터 패키지를 플롯 할 수 있습니다 : 당신이 다음과 같은 일을 단지 지구 평균 따라서 하나 개의 클러스터를 가정하는 경우 일반적으로 당신은 당신의 경우 클러스터의 최적의 수 있지만를 결정하기 위해 시도 할 것이다

library(cluster) 
clusplot(comb.data, fit$cluster, color=T) 

더 많은 정보를 원하시면 여기 http://www.statmethods.net/advstats/cluster.html 찾을 수 있지만 관심이 파티에

+0

@RXander ... 관심과 노력에 감사드립니다. 나는 당신이 준 코드가 정확하게 내 질문에 대답하지 않는다고 생각합니다. 결합 된 데이터의 평균을 취하고 있지만, 제 경우는 아닙니다. 나는 내가 원하는 것을 전하기 위해 나의 질문을 편집했다. 제발 저를 보시고 질문에 대답하도록 도와 주시겠습니까? 다시 한번 감사드립니다. – Janak

+0

질문하시기 바랍니다. – cbeleites