У меня есть n точек данных во фрейме данных, который содержит координаты X и Y. Я хотел бы взять любую точку (здесь и далее первую точку), найти ее ближайшего соседа (т.е. вторую точку), затем найти ближайшую точку из второй точки (т.е. из третьей точки), отличную от первой точки, затем найти ближайший сосед от третьей точки, отличной от первой и второй точек, и так далее. И я хотел бы добавить два столбца к фрейму данных: один столбец, содержащий числа (1 для первой точки, 2 для второй точки и т. Д.), А другой столбец, содержащий значения расстояний, чтобы каждая точка имела значение, равное расстояние до следующей ближайшей точки, определенной с помощью правила, описанного выше. Интересно, есть ли пакет или минимальный набор кодов R., который делает это.
Пример данных:
structure(list(sanimusho = 1:10, Latitude = c(41.84752, 41.84665, 41.84478, 41.84365, 41.84683, 41.84856, 41.84653, 41.8452, 41.8457, 41.84446), Longitude = c(44.98355, 44.98944, 45.04445, 45.04428, 45.04112, 45.03329, 45.03202, 45.02737, 45.01077, 45.01041), Altitude = c(1435L, 1455L, 1545L, 1509L, 1588L, 1668L, 1574L, 1556L, 1479L, 1446L), fartobi = c(18.4, 19.8, 18.6, 18.4, 18.2, 18.2, 18.4, 19.4, 18.4, 18.2), X = c(498634.403, 499123.349, 503690.176, 503676.128, 503413.615, 502763.526, 502658.183, 502272.204, 500894.097, 500864.228), Y = c(4632846.902, 4632750.232, 4632543.515, 4632418.048, 4632770.98, 4632962.773, 4632737.351, 4632589.553, 4632644.76, 4632507.084)), class = "data.frame", row.names = c(NA, -10L))