ในขณะที่ค้นหาเว็บคำตอบสำหรับการค้นหาเซนทรอยด์ของรูปหลายเหลี่ยมจะเกิดขึ้นค่อนข้างบ่อย สิ่งที่ฉันสนใจคือการหาเซนทรอยด์ของกลุ่มจุด ค่าเฉลี่ยถ่วงน้ำหนักทุกประเภท ฉันจะขอบคุณถ้ามีคนให้พอยน์เตอร์รหัสหลอก (หรือดีกว่าแพ็คเกจ R ที่แก้ปัญหานี้แล้ว) หรือลิงก์ว่าปัญหานี้สามารถแก้ไขได้อย่างไร
แก้ไข
การบรรจบกันได้ดำเนินการแล้ว (อีกครั้ง) iant ได้แนะนำวิธีในการหาค่าพิกัดโดยเฉลี่ยและใช้มันสำหรับเซนทรอยด์ ตรงนี้เป็นสิ่งที่ข้ามใจของฉันเมื่อฉันเห็นภาพขวาบนของหน้าเว็บนี้
นี่คือรหัส R ที่ใช้ง่ายในการวาดรูปต่อไปนี้ซึ่งแสดงให้เห็นถึงสิ่งนี้ (×คือ centroid):
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)
แก้ไข 2
cluster::pam()$medoids
ส่งคืน medoid ของชุดคลัสเตอร์ นี่คือตัวอย่างที่ถูกขโมยไปอย่างไร้ยางอายจาก @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")