У меня есть список координат x-y для 30 точек данных (зеленые точки на рис.), И я хотел бы связать их вместе.Подключить точку ближайшего соседа
Как я могу сделать это в R? На данный момент я вычислил матрицу расстояний между каждой точкой на dist()
, чтобы получить ближайший сосед для каждой точки. Однако этот результат в 30 краевых парах ... иногда несколько ребер подключаются к одной и той же точке, которая не хочу :(Как я могу решить эту проблему в R?
cities_num=10
cor.matrix=matrix(0,nrow=cities_num,ncol=2)
for (r in 1:cities_num){
cor.matrix[r,]=c(sample(1:500, 1),sample(1:500, 1))}
par(mar=c(4,4,2,4))
plot(cor.matrix,pch=4,xlab="X coordinate",ylab="Y coordinate")
centroid.x=mean(cor.matrix[,1])
centroid.y=mean(cor.matrix[,2])
bead_num=cities_num+20
t=seq(0,pi*2,length=bead_num)
coords=t(rbind(centroid.x+sin(t)*10, centroid.y+cos(t)*10))
for (point in 1:bead_num){
symbols(x=coords[,1][point],y=coords[,2][point],circles=0.5,
inches = FALSE, add = TRUE)
}
могли бы вы предоставить формат данных, чтобы мы могли что-то сработать? – CephBirk
Привет, я просто включил свой код :) В принципе, я хочу, чтобы все точки символов соединялись линиями. – cchau