Buscando en la web, las soluciones para encontrar los centroides de los polígonos aparecen con bastante frecuencia. Lo que me interesa es encontrar el centroide de un grupo de puntos. Una especie de media ponderada.
¿Puedes proporcionar algunas indicaciones, pseudocódigo (o incluso mejor, un paquete de R que ya haya resuelto esto) o enlaces de cómo se puede abordar este problema?
@iant ha sugerido un método para promediar las coordenadas y utilizarlo para el centroide. Esto es exactamente lo que se me pasó por la cabeza cuando vi la imagen correcta en esta página web .
Aquí hay un simple código R para dibujar la siguiente figura que demuestra esto (× es el centroide):
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)
cluster::pam()$medoids
devuelve un medoide de un conjunto de cluster. Este es un ejemplo de @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")
1 votos
¿Hay alguna razón por la que el centro medio o el centro de la distancia mínima de los puntos no sea suficiente?
1 votos
@Roman: El gráfico es incorrecto: es necesario utilizar el media no la mediana. Para las nubes de puntos espaciales en 2D existen análogos de un centro de la mediana, pero éste no es uno de ellos (porque depende de las coordenadas): véase stats.stackexchange.com/q/1927/919 para un debate.
1 votos
También sugeriría consultar el capítulo 4 del libro de trabajo de Crimestat, icpsr.umich.edu/CrimeStat/files/CrimeStatChapter.4.pdf . Es una introducción bastante suave, describe y muestra gráficamente por qué la mediana para dimensiones superiores no tiene una solución única, y describe otras medidas de tendencia central y varianza de patrones de puntos espaciales.
0 votos
Esto es cada vez más interesante. Gracias por sus respuestas. Estoy investigando el asunto.
0 votos
@whuber Para este caso los centroides de la mediana y de la media se superponen. Dejaré la figura pero modificaré el código R para reflejar la respuesta correcta.
2 votos
"sugirió un método para promediar las coordenadas y usar eso para el centroide". Esta es, de hecho, la definición del centroide, no simplemente algo que hace una buena aproximación.
0 votos
@Roman He notado la diferencia en este caso porque el centroide hace no superponen el punto de las medianas. El centroide debería estar varias unidades a la derecha de la cruz. Actualmente, el gráfico no refleja correctamente el cálculo mostrado en el código R.
0 votos
Lástima que no haya guardado el número del generador de semillas aleatorias...
0 votos
@RomanLuštrik ¿También has probado la versión en Python de esto? Tengo curiosidad por hacer lo mismo en Python.
0 votos
@Sajjadmanal no debería ser difícil. Tienes bibliotecas para generar puntos y calcular medios...
0 votos
encontrará una solución muy útil aquí stackoverflow.com/questions/23463324/