두 세트의 셀 데이터가 있습니다. 각 세트에는 x, y 좌표가있는 여러 행 (개별 셀)이 있습니다. 데이터 세트 A의 모든 셀에 대해 가장 작은 거리를 찾고 싶습니다. 데이터 셀은 BI하기에 가장 가까운 이웃 (좌표 쌍 사이의 거리)
예 DSA = 0,0 0,1 1,0 DSB 세트 B = 2,2
거리 (d)를 찾을 수있는 세포를 B.
을 설정할 않았다 이ax <- DS1$X
ay <- DS1$Y
bx <- DS2$X
by <- DS2$Y
D <- c(sqrt((ax-bx)^2 + (ay-by)^2))
D
[1] 2.828427 2.236068 2.236068
그래서 내가 필요로하는 것을주었습니다. DSB에 여러 점이있을 경우 문제가 있음
모든 BSB 값으로 모든 DSA 값을 시도하도록 루프를 추가해야합니까?
DSA의 첫 번째 지점 만 DSB에서 시작하고 두 번째 DSA 값은 DSB의 두 번째 값만 사용됩니다. DSB의 모든 값에 의해 DSA의 첫 번째 값을 수행 한 다음이 두 숫자 중 가장 작은 값만 반환하고 DSA의 모든 값을 반복하여 유지하기를 원합니다.
감사 JRD 가까운 DSB 포인트에 DSA의 각 점에 대한 짧은 차이이 같은 것을 산출해야하지만 끝에 (DSB에 가까운 지점 2,2- =) 이 문제가 발생했습니다 – StevenL
DSA = 0,0 0,1 1,0 DSB = 2,2,7,7 'df1 <-data.frame (DSA)' 'df2 <-data.frame (DS3)' '거리 < -as.matrix (DIST (rbind (DF1, DF2))) '거리 0.000000 1.000000 1.000000 2.828427 9.899495 1.000000 0.000000 2 1.414214 2.236068 9.219544 1.000000 1.414214 3 0.000000 2.236068 9.219544 2.828427 2.236068 4 2.236068 0.000000 7.071068 012 3,516,5 9.899495 9.219544 9.219544 7.071068 0.000000 'row.start <-nrow (DF1) +1 > row.end <-nrow (DF1) + nrow (DF2) > col.start <-1 > col.end <4 5 ' – StevenL
은 4 5와 2를 산출합니다. 2. 내 손으로 계산합니다 (예 : 0, 1, 2). DSA 행 1 = 2.828 (DSB에서 가장 가까운 점 = 2,2), 행 2 = 2.236 (DSB에서 가장 가까운 점 = 2,2) 행 3 = 2.236 (DSB에서 가장 가까운 점 = 2,2)을 가져야합니다. 어떤 제안이든지 – StevenL