Podczas wyszukiwania w sieci często pojawiają się rozwiązania dotyczące znajdowania centroidów wielokątów. Interesuje mnie znalezienie środka ciężkości skupiska punktów. Rodzaj ważonego rodzaju. Byłbym wdzięczny, gdyby ktoś mógł podać jakieś wskaźniki, pseudo kod (lub jeszcze lepiej pakiet R, który już to rozwiązał) lub linki, w jaki sposób można rozwiązać ten problem.
EDYTOWAĆ
Konwergencja już się zaczęła (ponownie). iant zasugerował metodę uśredniania współrzędnych i zastosowania jej dla środka ciężkości. Właśnie to przyszło mi do głowy, kiedy zobaczyłem właściwe zdjęcie na tej stronie .
Oto prosty kod R, aby narysować następujący rysunek, który to pokazuje (× to środek ciężkości):
xcor <- rchisq(10, 3, 2)
ycor <- runif(10, min = 1, max = 100)
mx <- mean(xcor)
my <- mean(ycor)
plot(xcor, ycor, pch = 1)
points(mx, my, pch = 3)
EDYCJA 2
cluster::pam()$medoids
zwraca medoidę zestawu klastrów. Oto przykład bezwstydnie skradziony @Joris Meys:
library(cluster)
df <- data.frame(X = rnorm(100, 0), Y = rpois(100, 2))
plot(df$X, df$Y)
points(pam(df, 1)$medoids, pch = 16, col = "red")
Odpowiedzi:
wystarczy uśrednić współrzędne X i Y (pomnożyć przez wagę, jeśli chcesz) i jest twój środek ciężkości.
źródło
Możesz użyć funkcji centroid z pakietu geosfery.
https://www.rdocumentation.org/packages/geosphere/versions/1.5-5/topics/centroid
źródło