Набор геостатистических данных: поиск ближайших десяти наблюдений по новой координате

У меня есть набор данных геостатистики Y (x, y), где x и y - координаты, и я хочу найти 10 ближайших наблюдений к новому местоположению (x *, y *).

Есть ли доступный пакет в R, который дает мне 10 ближайших наблюдений. мои данные выглядят так:

 x        y             Y(s)
 0.52916369 0.7428021  3.11069813
 0.98035458 0.4520996 -1.62532766
 0.09133259 0.3221473  2.28771148
 0.32759395 0.2892624  0.06164611

Всего 1 ответ


Пакет не требуется, вы можете рассчитать (евклидово) расстояние каждой строки с новой точкой (0,5,0,5), а затем отсортировать расстояния и выбрать первые 10.

df=read.table(text="
x        y             Y(s)
0.52916369 0.7428021  3.11069813
0.98035458 0.4520996 -1.62532766
0.09133259 0.3221473  2.28771148
0.32759395 0.2892624  0.06164611",h=T)

df$d=(df$x-0.5)^2+(df$y-0.5)^2

df[order(df$d,descending=T),][1:10]

Есть идеи?

10000