У меня есть набор данных геостатистики 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]